【发布时间】:2014-04-22 17:00:06
【问题描述】:
我正在尝试覆盖位于 vendor/symfony/symfony/src/Symfony/Bundle/FrameworkBundle/Routing/Router.php 的 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)?
【问题讨论】: