PHP-Code in pdo_1/01_step/class/FirstContact.class.php

<?php
// Die Klasse erbt von der Superklasse PDO
class FirstContact extends PDO {

	// Eigenschaften für den DB-Zugang (= sog. DB-Credentials)
	// hier macht es Sinn, diese mit "private" zu kennzeichen
	private $host = "";
	private $user = "";
	private $passwd = "";
	private $dbname = "Lernpfade";
	
	// Konstruktormethode: Stellt die Verbindung zur DB her
    public function __construct() {
    	// DSN zusammensetzen
    	$dsn = 'mysql:host=' . $this->host . ';dbname=' . $this->dbname .';charset=utf8';
    	
        // Array für Optionen für PDO anlegen
        $options = array(
        	// Wir wollen in der Testphase wissen, ob es Fehler gibt.
            PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION,
            // Mit dieser Option werden die Resultate in Form von assoziativen Arrays retour kommen.
            // In den meisten Fällen ist das der effizienteste Weg, die Resultate in HTML auszugeben ...
            PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC
        );
        try {
        	// Konstruktor der PDO-Klasse (Superklasse) aufrufen
			parent::__construct($dsn, $this->user, $this->passwd, $options);
		}
		catch (PDOException $e) {
			die("Verbindung zur Datenbank fehlgeschlagen: ".$e->getMessage());
		}
	}
	
	// Methode, um Datensätze zu lesen
	public function readMethod() {
		$query = "SELECT * FROM Personen LIMIT 20";
		$stmt = $this -> prepare($query);
		$stmt -> execute();
		$result = $stmt -> fetchAll();
		return $result;
	}
}