How can object-oriented programming principles be applied in PHP to improve database connection management and prevent errors?

Object-oriented programming principles can be applied in PHP to improve database connection management by encapsulating the database connection logic into a separate class. This class can handle the connection establishment, error handling, and closing of the connection. By using a class for database connection management, it becomes easier to reuse the connection code in multiple parts of the application and prevent errors related to database connectivity.

<?php
class Database {
    private $host = 'localhost';
    private $username = 'root';
    private $password = '';
    private $database = 'example';

    private $connection;

    public function __construct() {
        $this->connection = new mysqli($this->host, $this->username, $this->password, $this->database);

        if ($this->connection->connect_error) {
            die("Connection failed: " . $this->connection->connect_error);
        }
    }

    public function getConnection() {
        return $this->connection;
    }

    public function closeConnection() {
        $this->connection->close();
    }
}

// Example of how to use the Database class
$database = new Database();
$connection = $database->getConnection();

// Perform database operations

$database->closeConnection();
?>