Използвам phpstorm. Когато разработвам приложение на symfony2, съм свикнал с плъгина на symfony2, предоставящ автоматично довършване за контейнерни услуги:
[
Това предлага завършване и на върнатите обекти.
Има ли начин да накарате завършването на услугата да работи, когато използвате контейнерния компонент в PHP проект, различен от Symfony, който използва само части от компонентите на symfony2, т.е. контейнерния компонент?
Знам, че в настройките на phpstorm:
Other Settings > Symfony2 Plugins > Container
Бих могъл да добавя допълнителни xml контейнерни файлове, но нямам представа как трябва да изглежда.
Как да създам такъв файл?
Например създавам контейнер чрез:
/**
* @return ContainerBuilder
* @todo Initialize the container on a more reasonable place
*/
private function createServiceContainer()
{
$container = new ContainerBuilder();
$loader = new YamlFileLoader($container, new FileLocator(ROOT_PATH . '/config'));
$loader->load('services.yml');
return $container;
}
И моят services.yml изглежда така:
services:
redis:
class: App\Framework\RedisService
doctrine:
class: DoctrineService
factory: [\App\Database\DoctrineService, getDoctrine]
Как мога да създам container.xml
, който да бъде разбран от плъгина symfony2 и да ми предложи двете услуги redis
и doctrine
в контейнера?