// der php hacker

// archiv

Wusstest du schon …

Geschrieben am 29. Dez 2009 von Cem Derin

… dass Type Hints auf Arrays gemacht werden können? Im Gegensatz zu Primitiven Datentypen wie Strings, Integer oder Boolean kann man also in Methoden- und Funktionssignaturen  auch Arrays verlangen.

Type Hints sind eine bequeme und robuste Möglichkeit, die erwarteten Datentypen zu prüfen, bzw von PHP prüfen zu lassen. Dazu wird der Datentyp (bzw. die zu erwartete Klasse) einfach vor den Parameter in die Signatur geschrieben. Verwende ich beispielsweise eine Signatur wie folgende …


     function foo(Array $bar, Foo_Bar $buzz)

… weise ich PHP so an, dass der erste Parameter “bar” vom Typ Array sein muss. Der zweite “buzz” allerdings kann vom Typ “Foo_Bar” sein – oder von diesem abgeleitet sein. Man kann hier also auch jede Kindklasse übergeben.

Während den Tagen bis zum neuen Jahr werde ich immer mal wieder ein bisschen aus dem Trick- und Nähkästchen plaudern. Die arbeiten an Brawler stagnieren derzeit ob des Fresskomas unter dem ich grade leide, aber da mich mein gähnend Leerer Feedreader annervt, will ich wenigstens dazu beitragen, dass ein wenig passiert.

Geschrieben in Entwicklung, PHP 2 Kommentare

#001
29. Dez 2009

Für die TypeHint Variablen kann man übrigens nicht einmal NULL übergeben, wenn NULL nicht als default Wert gesetzt ist: “function foo(Bar $x = null)”.


#002
22. Dez 2010
Michael H.

Zitat:
Der zweite “buzz” allerdings kann vom Typ “Foo_Bar” sein

In diesem Fall “kann” er es nicht nur sein, er muss es sogar!
Wenn du allerdings “Foo_Bar $buzz = null” angeben würdest, “kannst” du den Parameter übergeben. Musst es aber nicht (mehr).

// kommentieren

// senden
theme von mir, software von wordpress, grid von 960 grid system. funktioniert in allen browsern, aber der safari bekommt das mit der schrift am schönsten hin.