我试图覆盖位于vendor/symfony/symfony/src/Symfony/Bundle/FrameworkBundle/Routing/Router.php
如何覆盖symfony2核心FrameworkBundle?
Symfony2的路由器我已经遵循了这一tutorial,我已经创建了自己的包,并在AppKernel.php
注册它。
<?php
// src/My/SymfonyBundle/MySymfonyBundle.php
namespace My\SymfonyBundle;
use Symfony\Component\HttpKernel\Bundle\Bundle;
class MySymfonyBundle extends Bundle
{
public function getParent()
{
// die('test');
return 'FrameworkBundle';
}
}
这么胖都好。我的包已被确认(由上述函数试图die('test');
测试)
比我已经建立了我的Symfony2的路由器
<?php
// src/My/SymfonBundle/Routing/Router.php
namespace My\SymfonyBundle;
use Symfony\Bundle\FrameworkBundle\Routing\Router as BaseRouter;
die('test');
class Router extends BaseRouter
{}
扩展版本,但它已被忽略。我希望看到我的调试test
消息,但我的覆盖文件根本没有加载。
我也看过这个question但我看起来不太清楚。
如何正确覆盖Symfony2核心包(vendor/symfony/symfony/src/Symfony/Bundle/FrameworkBundle/Routing/Router.php
)或核心组件(vendor/symfony/symfony/src/Symfony/Component/Routing/Router.php
)?
:)谢谢,最好的简单。 你能介意解释'getParent'是如何工作的吗?或者请指点我正确的方向,我不想最终被误导。 – gondo
顺便说一句,你忘了你的路径中的'资源'中的第二个'r'(被困惑了一段时间,为什么我只是不能复制过去的路径并打开文件) – gondo