Type Hinting
Aus php bar
Beim Type Hinting geht es darum, einer Variable mitzuteilen, welchen Typ sie enthalten darf. PHP erkennt die Typen der Variablen automatisch. So ist es egal, ob man eine Addition zweier Zahlen nun so:
1 <?php 2 3 $a = 5; 4 $b = 5; 5 echo ($a + $b); // 10 6 7 ?>
oder so
1 <?php 2 3 $a = '5'; 4 $b = '5'; 5 echo ($a + $b); // 10 6 7 ?>
schreibt. In Programmiersprachen wie Java, C++, Delphi etc. würde nur das erste Beispiel funktionieren (wenn $a und $b als Integer deklariert wurden), da man mit Zeichen nicht rechnen kann. PHP erkennt die Zahlen in den Strings und konvertiert diese intern in einen Integer Wert um. Somit spart man sich das Festlegen des Typs der Variable.
Neu seit PHP 5
Seit PHP 5 kann man nun in den Funktions- und Methoden-Deklarationen festlegen, welchen Typ ein Parameter haben soll. In PHP 5.0.x geht bisher nur die Festlegung eines Objekts:
1 <?php 2 3 class Foobar 4 { 5 public function __construct(PDO $obj) 6 { 7 /* ... */ 8 } 9 } 10 11 ?>
Der Konstruktor der Klasse Foobar verlangt nun ein PDO-Objekt als ersten Parameter. Ist $obj nicht von diesem Typ bekommt man eine solche Fehlermeldung:
PHP Fatal error: Argument 1 must be an object of class PDO in ... on line ...
Neu seit PHP 5.1
Seit PHP 5.1 ist nun auch eine weitere Möglichkeit hinzugekommen, mit der man festlegen kann, welchen Typ ein Parameter haben soll. Man kann nun auch vorschreiben, dass ein Parameter vom Typ Array sein muss:
1 <?php 2 3 class Foobar 4 { 5 public function __construct(array $arr) 6 { 7 /* ... */ 8 } 9 } 10 11 ?>

