Jonathan: Methoden-Parameter: immer alles validieren?

Beitrag lesen

Hallo,

Wie ist das bei PHP5 genau?

PHP hat nicht solche strengen Datentypen. Funktionen akzeptieren generell alles und  innerhalb wird es dann möglichst weiterverwendet.

Muss ich da wirklich IMMER alles prüfen? Ist also sowas unbedingt nötig:

public function x(int $value)
{
  if (!is_int($value)) { throw new Exception();}
}
x('a');

  
Nein, das ist nicht nötig. Ob es sinnvoll ist, hängt davon ab, was du machst. (Soweit ist das weiß ist aber sowohl das public als auch das int in der ersten Zeile in PHP nicht erlaubt.)  
  
Beipsiel:  
  
function quadrat($num)  
{  
  return $num\*$num;  
}  
  
Hier sollte quadrat('123') genau das gleiche zurückliefern wie quadrat(123) oder wie quadrat(123.0) und vermutlich auch wie quadrat(/123.0/) (ungetestet...). PHP wandelt also Typen automatisch um falls erforderlich. Klappt das nict (bei quadrat('hans') z.B.) gibt es einen Laufzeitfehler.  
  
  
Jonathan

-- 
[Selfcode:](http://emmanuel.dammerer.at/selfcode.html) [ie:( fl:{ br:> va:) ls:& fo:) rl:? ss:} de:> js:| ch:? mo:} zu:)](http://www.peter.in-berlin.de/projekte/selfcode/?code=ie%3A%28+fl%3A%7B+br%3A%3E+va%3A%29+ls%3A%26+fo%3A%29+rl%3A%3F+ss%3A%7D+de%3A%3E+js%3A%7C+ch%3A%3F+mo%3A%7D+zu%3A%29)