Pazi nije samo to, fora je sto ako imas type hinting ovako:
PHP kôd:
function test (string $param)
{
return $param;
}
i ako proslediš običan string ovako:
PHP kôd:
echo test ("proba");
Prijaviće error da parametar nije string instance: "...must be an instance of string, string given..."
Ne radi čak ni ovo:
PHP kôd:
$t = (string) "proba";
echo test ($t);
pa ni ovo:
PHP kôd:
echo test ((string) "proba");
Jednostavno ne mogu se type-hintovati skalarne vrednosti, samo objekti i array:
PHP kôd:
function test (array $param)
{
return $param;
}
print_r (test (array('proba')));
^ to će da radi.
E sad ... ovo za string, int ... uopšte mi nije jasno zašto je to tako.