tp6报错: InvalidArgumentException in Container.php line 467
方法参数错误:status
出现此错误的原因是,参数错误,不支持这样的参数写法。
例如下面类的构造函数
<?php
#创建:php think make:controller admin@Settings
declare(strict_types=1);
namespace app\admin\controller;
use app\Request;
use app\base\controller\ServerResponse;
class Settings extends Base
{
private $table_name = 'system_settings';
private $file_upload_settings = 'file_upload_settings';
private $request;
private $s = array();
public function __construct(Request $request,
ServerResponse $ServerResponse)
{
$this->request = $request;
parent::__construct($request);
}
}
在TP中不支持多个类的依赖注入,去掉ServerResponse $ServerResponse 即可。但是在laravel中则没有限制。
例如:
/**
* Create a new query builder instance.
*
* @param \Illuminate\Database\ConnectionInterface $connection
* @param \Illuminate\Database\Query\Grammars\Grammar $grammar
* @param \Illuminate\Database\Query\Processors\Processor $processor
* @return void
*/
public function __construct(ConnectionInterface $connection,
Grammar $grammar = null,
Processor $processor = null)
{
$this->connection = $connection;
$this->grammar = $grammar ?: $connection->getQueryGrammar();
$this->processor = $processor ?: $connection->getPostProcessor();
}