• 技术文章 >php框架 >ThinkPHP

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

    藏色散人藏色散人2021-11-23 15:52:35转载635

    下面thinkphp框架教程栏目将给大家介绍下如何解决thinkphp new self()报错问题,希望对需要的朋友有所帮助!

    具体问题描述:

    public function t2()  
    {  
      
      $receiver = new self();  
     
      
    }

    d394d0c9c8852746d71e53114ff545f.png

    框架thinkphp6

    解决办法:

    错误提示已经很明显了:__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视频教程

    以上就是如何解决thinkphp new self()报错问题的详细内容,更多请关注php中文网其它相关文章!

    声明:本文转载于:segmentfault,如有侵犯,请联系admin@php.cn删除
    专题推荐:thinkphp
    上一篇:教你如何把SQL语句转成TP5 下一篇:自己动手写 PHP MVC 框架(40节精讲/巨细/新人进阶必看)

    相关文章推荐

    • PHP面向对象中new self( )和 new static( ) 的区别• 区别PHP中new self() 和 new static()• 小白笔记之简单快速搭建ThinkPHP5并使用• 说说Thinkphp5.1实现邮箱验证问题
    1/1

    PHP中文网