Я не совсем понимаю вашу проблему.
Если оба класса (ClassA и ClassB) находятся в одном каталоге, нет необходимости использовать оператор use
.
Скалярный тип укажет вашему коллеге, что вашему методу нужен экземпляр этого класса.Это полезно, оно документирует ваш код и предотвращает ошибки.См. Это в качестве руководства.
Конечно, ваш комментарий будет указывать на то же самое, но проблема в том, что комментарии могут лгать.Если кто-то изменит ваш код, а не ваш комментарий, чтобы принять объект ClassC (например) вместо ClassA, это приведет к некоторой путанице.Представьте себе такую кодовую базу.
Я видел вводящий в заблуждение комментарий, создающий неприятные ошибки.Более одного раза.
Инструкция использования в верхней части вашего файла ничего не стоит.Еще лучше: если у вас их много, это хороший показатель того, что ваш класс следует разделить, чтобы соблюдать ПСП.Плюс это описывает ваши зависимости.Всегда полезно знать, на что вы можете повлиять при изменении кода.
Вывод: я бы посоветовал вам использовать скалярные и возвращаемые типы и не бояться оператора use.
Чтобы немного объяснить, почему пространства имен были введены в PHP:
Пространства имен позволяют вам иметь разные классы с одинаковыми именами, расположенные в разных файловых путях, без коллизий имен.Если у вас есть два класса с именем ClassA, как интерпретатор может узнать, какой ClassA вы хотите использовать?
Поскольку ваши два класса с одинаковыми именами должны находиться в разных папках, ваши пространства имен будут отличаться.PHP будет знать, какой класс использовать.Это не имеет ничего общего с созданием классов.
До пространства имен у вас было несколько неприятных имен классов, таких как Mage_Application1_Entity_Model.php
, описывающих путь к файлу.Гадкий как черт.