Контроллер класса не найден при загрузке - PullRequest
2 голосов
/ 18 января 2020

Я работал над своим первым проектом с Symfony, я создал свой первый контроллер. И эта ошибка появляется.

проблемное изображение

Я пытался

composer обновить

и у меня такая же проблема! Проблема, которая появляется, когда я обновляю composer

, вот код TestController. php

  <?php 
    namespace App\Controller;
    use Symfony\Component\HttpFoundation\Response;
    use Symfony\Component\Routing\Annotation\Route;
    use Sensio\Bundle\FrameworkExtraBundle\Configuration\Method;
    use Symfony\Bundle\FrameworkBundle\Controller\Controller;

    class TestController extends Controller {
        /**
        * @Route("/")
        * @Method ({"GET"})
        */
        public function index() 
        {
           //return new Response('<html><body>Hello world</body></html>');    
            return $this->render('articles/index.html.twig');
        }

    }

index. html .twig file имеет только <h1> test </h1>

Что вызывает эту проблему? и как это исправить, не удаляя проект и не создавая его снова! спасибо

1 Ответ

4 голосов
/ 18 января 2020

Symfony\Bundle\FrameworkBundle\Controller\Controller устарела , начиная с v4.2.0 , а удалена, начиная с v5.0.0 , вместо нее используйте Symfony\Bundle\FrameworkBundle\Controller\AbstractController.

<?php 

namespace App\Controller;

use Symfony\Component\HttpFoundation\Response;
use Symfony\Component\Routing\Annotation\Route;
use Sensio\Bundle\FrameworkExtraBundle\Configuration\Method;
use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;

class TestController extends AbstractController {
    /**
     * @Route("/", methods={"GET"})
     */
    public function index() 
    {
       //return new Response('<html><body>Hello world</body></html>');    
        return $this->render('articles/index.html.twig');
    }

}
...