Похоже, что PHP позволяет иметь строки (например, строку foo
в примере ниже) перед параметрами в определениях функций.
function do_something(foo $param){}
Это какая-то особенность?
Это своего рода функция безопасности типов в PHP
Если у вас есть
class Something { public function add(Something $s) { .. } } $s = new Something(); $s->add(new stdCLass());
Это вызовет угасающую фатальную ошибку.
Вы можете увидеть это здесь – http://php.net/manual/en/language.oop5.typehinting.php
Да, это намек на тип .
Да, в вашем примере вы используете тип намека, говоря, что параметр $ param должен быть экземпляром класса "foo"
Это способ определить, какой тип разрешен для передачи функции. Если вы посмотрите на этот комментарий на странице «Аргументы функций PHP.net», вы увидите, что вы можете определить класс как допустимый тип.