Я использую PHP Storm в качестве своей IDE, но я считаю, что другие IDE, такие как Netbeans, будут иметь такую же проблему, как я объясню ниже.
При использовании фреймворка, такого как Symfony2, у нас естьдобавлен замечательный мир внедрения зависимостей.Таким образом, объекты могут быть просто созданы с использованием кода, подобного следующему фрагменту:
$myThingy = $this->get('some_cool_service');
Это очень удобно, поскольку объекты уже настроены заранее.Единственная проблема заключается в том, что автозаполнение полностью прерывается практически в любой PHP IDE, поскольку IDE не знает, какой тип возвращает метод get ().
Есть ли способ сохранить автозаполнение?Будет ли, например, создание расширения Controller ответом?Например:
class MyController extends Controller {
/**
* @return \MyNamespace\CoolService
*/
public getSomeCoolService() {
return new CoolService();
}
}
, а затем для контроллеров приложений укажите MyController в качестве базового класса вместо Controller?
Как насчет использования класса Factory или любых других возможных методов?