下面thinkphp/" target="_blank">thinkphp框架教程栏目将给大家介绍下如何解决thinkphp new self()报错问题,希望对需要的朋友有所帮助!
具体问题描述:
public function t2() { $receiver = new self(); }
框架thinkphp6
解决办法:
立即学习“PHP免费学习笔记(深入)”;
错误提示已经很明显了:__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
推荐:《最新的10个thinkphp视频教程》