Php 从app()获取服务不会';不要总是在助手函数中工作
我正在创建一个helper函数,目前看起来如下所示: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
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;那没什么用。