0

我以前为 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 类的加载函数。我确实清除了捕获以强制重新加载所有内容。我知道我错过了一些愚蠢的东西,但我似乎看不到它。

4

0 回答 0