В config.yml Symfony2 вы можете добавить «импорт», например:
imports:
- { resource: services.yml }
Внутри моего services.yml у меня есть:
imports:
security_bundle:
resource: @AcmeSecurityBundle/Resources/config/services.yml
Однако альтернативный способ объявить службы для пакета — использовать DependencyInjection
Extension
, что устраняет необходимость импортировать что-либо в config.yml вручную, тем самым разделяя код.
namespace Acme\Bundle\SecurityBundle\DependencyInjection;
use Symfony\Component\HttpKernel\DependencyInjection\Extension;
use Symfony\Component\DependencyInjection\ContainerBuilder;
use Symfony\Component\DependencyInjection\Loader\YamlFileLoader;
use Symfony\Component\Config\FileLocator;
class AcmeSecurityExtension extends Extension {
public function load(array $configs, ContainerBuilder $container) {
$loader = new YamlFileLoader(
$container, new FileLocator(__DIR__ . '/../Resources/config')
);
$loader->load('services.yml');
}
}
Вопрос:
liip_imagine:
filter_sets:
security_avatar_thumbnail:
quality: 75
filters:
thumbnail: { size: [140, 140], mode: inset }
Затем Symfony жалуется, что
Нет расширения, способного загрузить конфигурацию для «liip_imagine».
Итак, кто-нибудь знает, есть ли способ добавить конфигурацию для стороннего пакета из другого пакета, не касаясь config.yml
?