下面給大家介紹下如何解決thinkphp new self()報錯問題,希望對需要的朋友有所幫助!
具體問題描述:
public function t2() { $receiver = new self(); }
解決辦法:
錯誤提示已經很明顯了:__construct() 缺少參數,看你貼的代碼是沒有傳入 $app,我沒有用過 TP6,不過像在這樣的框架里,獲取一個對象的方法是使用容器,使用容器時它會把依賴自動注入(即將$app 自動實例化),如果使用 new 是不會注入依賴的。
所以在使用容器時,可以這樣:$receiver = invoke('xxx');
使用 new 方式時,可以這樣:
$app = new App(); $receiver = new Receiver($app);
具體可以參考 TP6 的文檔:https://www.kancloud.cn/manual/thinkphp6_0/1037489