我以前为Zikula模块完成过此操作,但我一定会忘记一些东西。我记得,如果要为表单提供服务,则必须执行三个步骤。
首先,在模块中创建一个名为DependencyInjection的文件夹。在其中创建一个使用YAML加载程序加载您的YAML文件的php类。这是该代码:
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');
}
}
第二步在模块的Resources / config /文件夹中创建一个services.yml文件 第三,在该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类的load函数。我确实清除了陷阱,以强制重新加载所有内容。我知道我想念一些愚蠢的东西,但是我似乎看不到它。