Symfony 为扩展某个控制器的所有控制器设置基本路由
Symfony set base route for all controllers that extend a certain controller
让我们假设在 Symfony 中你有一个 BackendController
.
然后所有后端控制器都遵循例如ProjectsController extends BackendController
.
有没有办法设置 Symfony,以便所有扩展 BackendController
的控制器路由到 somesite.com/auth
这样
class ProjectsController extends BackendController
{
/**
* @Route("projects");
*/
public function index() {
路由 projects
解析为 auth/projects
而无需明确声明 @Route("auth/projects");
?
请温柔点;我对 Symfony 非常陌生。
class 级路由定义不是继承的,这意味着这是不可能的。您可以做的下一个最好的事情是在 class 级别为所有继承基础 class:
的控制器单独定义该基础路由
/**
* @Route("/auth")
*/
class ProjectsController extends BackendController
{
/**
* @Route("/projects");
*/
public function index() {
...
}
...
}
让我们假设在 Symfony 中你有一个 BackendController
.
然后所有后端控制器都遵循例如ProjectsController extends BackendController
.
有没有办法设置 Symfony,以便所有扩展 BackendController
的控制器路由到 somesite.com/auth
这样
class ProjectsController extends BackendController
{
/**
* @Route("projects");
*/
public function index() {
路由 projects
解析为 auth/projects
而无需明确声明 @Route("auth/projects");
?
请温柔点;我对 Symfony 非常陌生。
class 级路由定义不是继承的,这意味着这是不可能的。您可以做的下一个最好的事情是在 class 级别为所有继承基础 class:
的控制器单独定义该基础路由/**
* @Route("/auth")
*/
class ProjectsController extends BackendController
{
/**
* @Route("/projects");
*/
public function index() {
...
}
...
}