0

我的包中有这段代码

class MyPass implements CompilerPassInterface
{
    public function process(ContainerBuilder $container)
    {
        $container->get("plugin")->loadServices($container);
    }
}

当我通过网络浏览器正常运行应用程序时,一切似乎都很好。但是,如果我运行作曲家

"post-install-cmd": [
            "Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::buildBootstrap",
            "Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::clearCache",
            "Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::installAssets",
            "Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::installRequirementsFile"
        ]

似乎试图从编译器类中获取服务将返回错误 ReflectionException: Class does not exist。有没有办法解决这个问题?

(该服务用于注册自定义插件的服务列表,它必须在编译器传递中的某处运行以允许 SF2 缓存它)

4

1 回答 1

0

我所做的是重写我的代码,使其不依赖于从编译器传递中获取服务。

于 2012-12-21T19:52:18.267 回答