Peter Pan: bisher mit nicht bekannte Syntax bei Def. v. Funktionsparamtern

Beitrag lesen

Hi!

im Zend-Framwork lese ich in einer Klasse (Front.php):

Du beschäftigst Dich mit dem Zend-FW - gute Idee!
Nimm Dir Zeit!
Wenn Du es richtig benutzen kannst, willst Du es nicht mehr missen wollen.

  

>     public function dispatch(Zend_Controller_Request_Abstract $request = null, Zend_Controller_Response_Abstract $response = null)  

Dies ist das mit PHP 5 eingeführte Type hinting - $request muss ein Exemplar von Zend_Controller_Request_Abstract, bzw. ein Objekt einer davon abgeleiteten Klasse sein.

Im speziellen Fall letzteres, da man abstrakte Klassen nicht instanziieren kann.

Da die beiden Parameter in der Signatur vorbelegt sind, kannst Du die Methode aber auch ohne Parameter aufrufen - übergibst Du aber z.B: einen String, oder ein Array, heult PHP rum.

Mit diesem Feature soll etwas mehr Typ-Sicherheit in PHP geschaffen werden - es funktioniert nur für Objekte und Arrays - nicht für skalare Typen.

frankx
off:PP

--
"You know that place between sleep and awake, the place where you can still remember dreaming?" (Tinkerbell)