2

请你能告诉我如何在 symfony4.2 中使用 AbstractController 以及如何在构造控制器中注入服务吗?

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');
    }

}

如何在控制器的构造函数中注入服务?

4

1 回答 1

0

您应该将所需的服务指定为 Controller 构造函数参数。然后将服务分配给您的控制器参数。例如:

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

不要忘记在参数中声明 $stringValidator 并指定所需的服务命名空间!如果您启用autowiring了,您services.yaml甚至不需要手动传递 Service 参数。就这样。您现在可以使用您的服务了。

于 2020-09-07T10:29:30.167 回答