你可以把它放在你的包的控制器目录中,即src/YourNamespace/YourBundleName/Controller/ControllerExtension.php
. 确保在该文件中提供适当的命名空间:
namespace YourNamespace\YourBundleName\Controller;
class ControllerExtension extends Symfony\Bundle\FrameworkBundle\Controller\Controller
{
...
要使用它,请在src/YourNamespace/YourBundlename/Resources/config/routing.yml
或者
扩展它:
namespace YourNamespace\YourBundleName\Controller;
class OtherController extends ControllerExtension
{
...
如果您真正想要做的是覆盖另一个包的控制器,请参阅描述覆盖控制器的说明书。
编辑:
据我所知,没有办法自动使这个控制器以某种方式生效。你可以让你的每个控制器扩展它,就像我上面指出的那样。
如果格式为 json ,您也许可以创建一个事件侦听器并使用响应事件以某种方式更改响应。但是,我不确定您将如何从事件侦听器访问视图数据。