Если у меня есть класс Foo
и функция bar
function bar (Foo $x) { baz($x); }
который использует Foo
в качестве подсказки типа... нужно ли мне включать файл, содержащий Foo
, чтобы вышеприведенное скомпилировалось?
В тесте с PHP 5.4.33 включение класса не требовалось даже при вызове функции. Функция не удалась, так как предоставленный $x
не был типа Foo
, но не возникло ошибки, такой как "Ошибка: Foo не определен".
Надежно ли такое поведение? Это где-нибудь задокументировано?
В качестве примечания я знаю, что для документации было бы полезно включить файл Foo.php
, когда я использую Foo
в качестве подсказки типа, но это предотвращает вызов require_once
, если мне не нужно его включать.