How can PDO connections be passed as parameters in PHP classes?

To pass PDO connections as parameters in PHP classes, you can simply inject the PDO object into the class constructor or a setter method. This allows you to reuse the same PDO connection across multiple classes without having to establish a new connection each time.

class Database {
    private $pdo;

    public function __construct(PDO $pdo) {
        $this->pdo = $pdo;
    }

    public function query($sql) {
        return $this->pdo->query($sql);
    }
}

// Create a PDO connection
$pdo = new PDO('mysql:host=localhost;dbname=test', 'username', 'password');

// Pass the PDO connection to the Database class
$database = new Database($pdo);

// Use the PDO connection in the Database class
$result = $database->query('SELECT * FROM table');