2012-11-29 4 views
3

* S'il vous plaît changer le titre en quelque chose qui se réfèrent à cette question, car je ne savais pas ce que cela devrait être.S'il vous plaît expliquer cette fonction PHP Définition

Quand je lis certains tutoriel je vois scénario comme celui-ci

function testArray(array $categories) { 
var_dump($categories); 
} 

testArray(array('string')); 

La array dans la définition de fonction rendent le paramètre strict doit être tableau, que je l'aime.
Puis-je tester ce script

function testString(string $string) { 
    var_dump($string); 
} 

testString('test'); 

Pourquoi ai-je reçu une erreur comme ça Catchable fatal error: Argument 1 passed to testString() must be an instance of string, string given ....?
Je suis assez sûr que le paramètre est une chaîne.

+3

'' boolean' integer' '' float' CHAINE' données types Scalar types.PHP ne supporte pas ce type d'indice. – som

Répondre

6

Vous parlez de Type Hinting. Les indicateurs de type PHP ne peuvent être utilisés que dans les objets et les tableaux. chaîne est un type scalaire qui ne supporte pas de type faisant allusion

Plus sur le type laissant entendre

http://php.net/manual/en/language.oop5.typehinting.php

+0

Mais il y a de l'espoir https://wiki.php.net/rfc/typechecking (Under Discussion) et https://wiki.php.net/rfc/scalar_type_hinting_with_cast (In Draft) ou peut-être pas comme https: // wiki. php.net/rfc/parameter_type_casting_hints (retiré). – eisberg

Questions connexes