ThinkPHP6 多应用模式调用其他控制器时需要填写$app参数,报错Required parameter '$app' missing

652次阅读
没有评论

共计 423 个字符,预计需要花费 2 分钟才能阅读完成。

如图所示,在多应用情况下,我调用User() 控制器,提示需要填写$app参数,

ThinkPHP6 多应用模式调用其他控制器时需要填写$app参数,报错Required parameter '$app' missing

因为我所有的控制器都是 extends BaseController 的,所以查看BaseController的源码,发现如下

/**
 * 构造方法
 * @access public
 * @param  App  $app  应用对象
 */
public function __construct(App $app)
{
    $this->app     = $app;
    $this->request = $this->app->request;

    // 控制器初始化
    $this->initialize();
}

调用时需要传入一个App对象。

在网上和文档里查了半天都没结果,自己猜出解决方案。

传入参数如下:

(new App())->initialize()

完整的也就是

$user = new User((new App())->initialize());

你学废了吗?

 

By the way,TP6的文档写的乱七八糟,我真特么是服了,遇到问题看文档屁用没有。

 

正文完
 0
zjh4473
版权声明:本站原创文章,由 zjh4473 于2023-03-06发表,共计423字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
评论(没有评论)