Как исправить ошибку symfony: Невозможно автоматически передать аргумент $ request в «App \ Controller \ ArticleController :: create ()»? - PullRequest
0 голосов
/ 25 февраля 2020

Скажите пожалуйста, как исправить symfony ошибка:

Невозможно автоматически передать аргумент $ request для "App \ Controller \ ArticleController :: create ()": он ссылается на класс "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"
}

1 Ответ

0 голосов
/ 25 февраля 2020

Я почти уверен, что вы использовали 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-аргумент

use Symfony\Component\HttpFoundation\Request;

public function index(Request $request, $firstName, $lastName)
{
    $page = $request->query->get('page', 1);

    // ...
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...