我正在尝试创建核心AppBundle
和顶部的扩展(主要是UI中的更改)。我创建了以下结构:
src/
├── AppBundle
│ ├── AppBundle.php
│ ├── Controller
│ │ └── DefaultController.php
│ └── Resources
│ └── views
│ └── Default
│ └── index.html.twig
└── HszBundle
├── Controller
│ └── MenuController.php
├── HszBundle.php
└── Resources
├── public
│ └── less
│ └── hsz.less
└── views
└── Default
└── index.html.twig
Main /app/config/routing.yml
从注释中加载规则:
app:
resource: "@AppBundle/Controller/"
type: annotation
hsz:
resource: "@HszBundle/Controller/"
type: annotation
AppBundle\Controller\DefaultController
包含一条规则:
/**
* Class DefaultController
* @package AppBundle\Controller
*/
class DefaultController extends Controller
{
/**
* @Route("/", name="root")
* @Template
*/
public function indexAction()
{
return [];
}
}
和HszBundle\Controller\MenuController
包含:
/**
* Class MenuController
*
* @package HszBundle\Controller
* @Route("/menu")
*/
class MenuController extends Controller
{
/**
* @Route("/list")
* @Ajaxable
*/
public function listAction()
{
return [];
}
}
HszBundle
已设置getParent
方法以返回AppBundle
。
问题是AppBundle
路由被忽略并仅包含:
hsz_menu_list ANY ANY ANY /menu/list
如果getParent
未被覆盖,则返回所有路线:
root ANY ANY ANY /
hsz_menu_list ANY ANY ANY /menu/list
但没有扩展功能。
如何在扩展捆绑包时导入所有AppBundle
路由?