插件窝 干货文章 如何解决thinkphp new self()报错问题

如何解决thinkphp new self()报错问题

thinkphp 使用 receiver strong 423    来源:    2024-10-27

下面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视频教程》