Ошибка: класс не имеет конструктора, вызванного использованием abstractController symfony4.2?

Пожалуйста, можете ли вы сказать мне, что, как использовать AbstractController в Symfony4.2 и как внедрить сервисы в Контроллере Contruct?

nameSpace App\Controller;

use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
use Symfony\Component\HttpFoundation\Response;

class homeController extends AbstractController
{    
    /**
     * @return Response
     * @Route("/home", name="home")
     */


    public function index():Response
    {
        return $this->render('pages/home.html.twig');
    }

}

как внедрить сервисы в конструктор контроллера?

0 ответов

Вы должны указать требуемую службу в качестве аргумента конструктора контроллера. А затем назначьте службу параметру вашего контроллера. Например:

public function construct(StringValidator $stringValidator) 
{
    $this->stringValidator = $stringValidator;
} 

Не забудьте объявить $stringValidator в своих параметрах, а также указать необходимое пространство имен Service! В случае включения autowiring в вашем services.yamlвам даже не нужно передавать аргумент Service вручную. Это все. Вы можете воспользоваться вашим сервисом сейчас.

Другие вопросы по тегам