如何在不设置Symfony应用程序的情况下运行Symfony Bundle?

时间:2015-03-09 04:01:51

标签: symfony bundle

我创建了一个独立的Symfony软件包,现在是否可以单独运行该软件包而无需设置Symfony?

我已经执行了单元测试,现在可以了,我想在浏览器中运行bundle的控制器(可能吗?)

提前致谢!

2 个答案:

答案 0 :(得分:1)

Bundle是Symfony特有的,它只在Symfony上下文中有意义。

在没有在Symfony项目中安装捆绑包的情况下调用捆绑控制器可能有用的唯一上下文是测试。如果这就是您所追求的,可以设置一个简化的Symfony内核,仅用于测试。请参阅我关于此主题的文章:How to run Behat scenarios and functional tests from a Symfony bundle in isolation of a project

我还实现了一个DemoBundle,您可以在其中看到它与phpunit和Behat测试一起使用。

如果您只是需要在浏览器中手动测试捆绑包,则可以采用相同的方法,但实际上并不想安装整个框架。

底线是你需要设置至少一个最小的Symfony内核。

答案 1 :(得分:0)

您不能在Symfony上下文中使用捆绑包,而不会让Symfony知道它已安装"。为此,您必须在AppKernel

中启用捆绑包
// app/AppKernel.php

// ...
class AppKernel extends Kernel
{
    // ...

    public function registerBundles()
    {
        $bundles = array(
            // ...,
            new FOS\UserBundle\FOSUserBundle(),
        );

        // ...
    }
}