Я делал это раньше для модуля Zikula, но я должен что-то забыть. Насколько я помню, если вы хотите предоставить услугу для формы, вы должны сделать три шага.
Сначала создайте в вашем модуле папку с именем DependencyInjection. Внутри него создайте класс php, который использует загрузчик YAML для загрузки файла YAML. Вот код для этого:
class PaustianPMCIModuleExtension extends Extension
{
public function load(array $configs, ContainerBuilder $container)
{
$loader = new YamlFileLoader($container, new FileLocator(realpath(__DIR__ . '/../Resources/config')));
$loader->load('services.yml');
}
}
Затем создайте файл services.yml в папке Resources / config / модуля.
В-третьих, в этом файле services.yml есть ваш yml для настройки службы. Вот этот файл:
services:
paustian_pmci_module.container.link_container:
class: Paustian\PMCIModule\Container\LinkContainer
arguments: ["@translator.default", "@jms_i18n_routing.router", "@zikula_permissions_module.api.permission"]
tags:
- { name: zikula.link_container }
paustian_pmci_module.person_type:
class: Paustian\PMCIModule\Form\Person
arguments: ["@translator.default"]
tags:
- { name: form.type }
Прямо сейчас функция загрузки класса PaustianPMCIModuleExtension не вызывается вообще. Я сделал очистку улова, чтобы заставить перезагрузить все. Я знаю, что мне не хватает чего-то глупого, но я просто не могу этого увидеть.
Задача ещё не решена.
Других решений пока нет …