Type hinting på metode som bruger func_get_args
Hej EksperterJeg har en statisk klasse som tager X antal parametre af en anden abstrakt klasse.
Eksempel:
<?php
abstract class Foo {
public abstract function __toString();
}
class Bar extends Foo {
public function __toString() {
return 'Ost';
}
}
class Pony extends Foo {
public function __toString() {
return 'Test';
}
}
class Hest {
public static function run(Foo $args) {
$a = func_get_args();
foreach ($a as $c)
echo $c;
}
}
Hest::run(new Bar(), new Pony(), new Hest());
?>
Kan jeg sikre mig at alle parameterne som sendes til Hest::run() er af typen Foo udelukkende vha. type hinting, frem for at skulle løbe mit array i gennem manuelt og tjekke typen på hver eneste objekt?
Bonus spørgsmål:
Kan det samme ovenstående eksempel udtrykkes med PHPDoc og i så fald hvordan?
// hermandsen