Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/laravel/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 从app()获取服务不会';不要总是在助手函数中工作_Php_Laravel_Laravel 5 - Fatal编程技术网

Php 从app()获取服务不会';不要总是在助手函数中工作

Php 从app()获取服务不会';不要总是在助手函数中工作,php,laravel,laravel-5,Php,Laravel,Laravel 5,我正在创建一个helper函数,目前看起来如下所示: function avatar($userid = null){ return app()->User->getAvatar($userid); } class UserServiceProvider extends ServiceProvider { protected $defer = true; public function boot(User $user) { } pub

我正在创建一个helper函数,目前看起来如下所示:

function avatar($userid = null){
    return app()->User->getAvatar($userid);
}
class UserServiceProvider extends ServiceProvider {

    protected $defer = true;

    public function boot(User $user) {

    }

    public function register() {
        $this->app->resolving(User::class, function(User $user, $app){
            $user->setUser(Auth::user() ? Auth::user() : null);
            $this->app->instance('User', $user);
        });
    }

    public function provides(){
        return [User::class];
    }

}
我遇到的问题是,我得到了一个错误,它说:

类用户不存在(视图:/resources/views/layouts/usernav.blade.php)

当我在某些页面上运行此操作,但在其他页面上不运行时,就会发生这种情况。我不知道是什么导致了这个问题

刀片使用:

<img src="{{avatar()}}" id="avatar" style="height: 50px;" class="img-responsive">

要解决此问题,我需要修改服务提供商的注册功能:

$this->app->singleton('User', function ($app) {
    $user = new User();
    $user->setUser(Auth::user() ? Auth::user() : null);
    return $user;
});

您好,添加use App\User和use Illumb\Support\Facades\Auth;那没什么用。