6.13 Objekt-Datentypen für Funktionsparameter vorschreiben

Problem

Sie möchten sicherstellen, dass ein übergebener Funktionsparameter immer einen bestimmten Objekt-Datentyp (eine Klasse) hat. Das schützt Sie gegen Bugs, weil auf diese Weise frühzeitig auffällt, wenn etwas anderes übergeben wird, als Sie erwarten.

Lösung

Verwenden Sie Type Hinting:

function printBusinessPhoneNumber(business $business) {
    echo $business->phone;
}

$shop = new business;
$shop->phone = "35972355";
printBusinessPhoneNumber($shop); // Gibt die Telefonnummer aus.

$fred = new person;
$fred->phone = "38549865";
printBusinessPhoneNumber($fred); // Gibt eine Fehlermeldung aus.

Diskussion

Es kann leicht passieren, dass Ihrer Funktion ein Objekt mit falschem Datentyp übergeben wird ...

Get PHP 5 Kochbuch, Third Edition now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.