[英]Symfony FOSUserBundle
我正在嘗試重新聲明FOSUserBundle ProfileController,但是當我這樣做時,什么都沒有改變。 我遵循了指令https://symfony.com/doc/current/bundles/FOSUserBundle/overriding_controllers.html並創建:/src/UserBundle/UserBundle.php
<?php
namespace UserBundle;
use Symfony\Component\HttpKernel\Bundle\Bundle;
class UserBundle extends Bundle
{
public function getParent()
{
return 'FOSUserBundle';
}
}
和/src/UserBundle/Controller/ProfileController.php
<?php
namespace UserBundle\Controller;
use Symfony\Component\HttpFoundation\Request;
use FOS\UserBundle\Controller\ProfileController as BaseController;
class ProfileController extends BaseController
{
public function editAction(Request $request)
{
var_dump("I am HERE");exit();
return $request;
}
}
我做錯了什么,可以給個建議嗎?
在Symfony 3中,不再使用捆綁繼承,如@Pavel Alazankin所指出的那樣。 要覆蓋FOSUser控制器,您需要:
<?php namespace UserBundle\\Controller; use Symfony\\Component\\HttpFoundation\\Request; use FOS\\UserBundle\\Controller\\ProfileController as BaseController; use Symfony\\Component\\EventDispatcher\\EventDispatcherInterface; use FOS\\UserBundle\\Form\\Factory\\FactoryInterface; use FOS\\UserBundle\\Model\\UserManagerInterface; class ProfileController extends BaseController { public function __construct(EventDispatcherInterface $eventDispatcher, FactoryInterface $formFactory, UserManagerInterface $userManager) { parent::__construct($eventDispatcher, $formFactory, $userManager); } /** * override FOSUserBundle * @param Request $request * * @Route( * "/login", * name="fos_user_profile_edit" * ) * @Method("GET|POST") * * @return Response */ public function editAction(Request $request) { var_dump("I am HERE");exit(); return $request; }
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.