猿问

如何修复 symfony 错误:无法自动装配

请告诉我,如何修复 symfony 错误:


无法自动装配“App\Controller\ArticleController::create()”的参数 $request:它引用了类“Symfony\Component\BrowserKit\Request”,但不存在此类服务。


控制器:


use App\Entity\Article;

use App\Form\ArticleType;

use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;

use Symfony\Component\BrowserKit\Request;

use Symfony\Component\Routing\Annotation\Route;


/**

 * @Route("/article/create", name="creates_article")

 */

public function create(Request $request)

{

    $article = new Article();


    $form = $this->createForm(ArticleType::class, $article);


    $form->handleRequest($request);


    return $this->render('article/form.html.twig', [

        'form' => $form->createView()

    ]);

}

日志:频道 - 请求


Matched route "creates_article".

{

"route": "creates_article",

"route_parameters": {

    "_route": "creates_article",

    "_controller": "App\\Controller\\ArticleController::create"

},

"request_uri": "http://symfony.loc/article/create",

"method": "GET"

}


德玛西亚99
浏览 123回答 1
1回答

慕运维8079593

我很确定,您使用了错误Request的类名称空间。它应该是 :Symfony\Component\HttpFoundation\Request代替Symfony\Component\BrowserKit\Request所以尝试:use Symfony\Component\HttpFoundation\Request;Symfony 文档中的示例: https ://symfony.com/doc/current/controller.html#the-request-object-as-a-controller-argumentuse Symfony\Component\HttpFoundation\Request;public function index(Request $request, $firstName, $lastName){    $page = $request->query->get('page', 1);    // ...}
随时随地看视频慕课网APP
我要回答