php - 为什么 silex 不能在构造函数中解析 App?
问题描述
当我尝试在构造函数中使用自动解析依赖项时出现错误,尽管在方法中它可以正常工作。
<?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
解决方案
定义路由时必须$app
作为参数传递给构造函数
$app->post(
'/author',
function (Request $request) use ($app) {
$controller = new AuthorController(
$app,
$request
);
return $controller->create();
}
);
推荐阅读
- angular - MsAdalAngular6Service - 处理无效登录
- vb.net - 为什么“双”数据类型会弄乱我的斐波那契数列?
- mongodb - How to achieve this query in mongodb
- react-native - React-native sound delay issue
- javascript - 在 Angular 8 Router 中,当导航到其他父级的路由时,父级路由保持不变
- python - Flask App 上不适当的日期时间数据类型和错误
- c - getpgid 没有用 valgrind 实现
- c# - Azure Storage Table Error when running Azure Function
- dividebyzeroexception - Csharp 编程中的 DivideByZeroExeption
- sql - TypeORM activeRecord style query for "where (a & b) or (c & d)"?