我在代码中有一行:
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测试中
答案 0 :(得分:0)
为什么要尝试实例化类来调用静态函数?它不应该像User::unguard()
一样工作吗?