【问题标题】:Why silex don't resolve App in consructor?为什么silex不在构造函数中解析App?
【发布时间】:2019-07-30 14:21:23
【问题描述】:

当我尝试在构造函数中使用自动解析依赖项时出现错误,尽管在方法中它可以正常工作。


<?php

namespace App\Controller;

use Silex\Application;
use Symfony\Component\HttpFoundation\Request;

class AuthorController
{

// Produce an error
//    public $app;
//    public $request;
//    public $entityManager;
//
//    public function __construct(Application $app, Request $request)
//    {
//        $this->app=$app;
//        $this->request=$request;
//    }

    public function create(Application $app, Request $request)
    {

    }
}

Argument 1 passed to App\Controller\AuthorController::__construct() must be an instance of Silex\Application, none given

【问题讨论】:

    标签: php symfony silex


    【解决方案1】:

    定义路由时必须将$app作为参数传递给构造函数

    $app->post(
        '/author',
        function (Request $request) use ($app) {
            $controller = new AuthorController(
                $app,
                $request
            );
            return $controller->create();
        }
    );
    
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-11-05
      • 2020-08-24
      • 1970-01-01
      • 2021-04-01
      • 2014-04-22
      • 2017-12-21
      相关资源
      最近更新 更多