use support\request;
protected $requst = null;
public function __construct(request $request)
{
$this->request = $request;
}
上面寫(xiě)法會(huì)報(bào)錯(cuò)
ArgumentCountError: Too few arguments to function app\controller\Login::__construct(), 0 passed in /www/wwwroot/webman/vendor/workerman/webman-framework/src/Container.php on line 30 and exactly 1 expected in /www/wwwroot/webman/app/controller/Login.php:21
webman里的控制器是常駐內(nèi)存的,當(dāng)前進(jìn)程初始化一次后就不會(huì)再初始化了,所以構(gòu)造函數(shù)里傳遞request對(duì)象沒(méi)有意義,因?yàn)閞equest對(duì)象在以后的請(qǐng)求看來(lái)都是過(guò)時(shí)的數(shù)據(jù)。如果你需要控制器有個(gè)request對(duì)象指向當(dāng)前請(qǐng)求,可以利用beforeAction給請(qǐng)求對(duì)象重新賦值。
/**
* 該方法會(huì)在請(qǐng)求前調(diào)用
*/
public function beforeAction(Request $request)
{
$this->request = $requset;
}