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.