Container :: getInstance()返回null

时间:2018-02-20 21:16:04

标签: laravel containers

我在代码中有一行:

app(User::class)::unguard();

在我的测试中,但代码返回异常:

Error: Call to a member function make() on null
vendor/laravel/framework/src/Illuminate/Foundation/helpers.php:105

所以我检查了那个看起来像那样的帮手:

function app($make = null, $parameters = [])
    {
        if (is_null($make)) {
            return Container::getInstance();
        }

        return Container::getInstance()->make($make, $parameters);
    }

我是初学者,所以我还不太了解laravel。我试过的是我在app()函数中插入了一个代码,如下所示:

function app($make = null, $parameters = [])
    {
        if (is_null($make)) {
            return Container::getInstance();
        }
        dd(Container::getInstance());
        return Container::getInstance()->make($make, $parameters);
    }

我得到null。我真的不确切知道,这些东西是如何起作用的。可能会出现什么问题?

编辑:问题只出现在phpunit测试中

1 个答案:

答案 0 :(得分:0)

为什么要尝试实例化类来调用静态函数?它不应该像User::unguard()一样工作吗?