Почему моя установка Laravel требует префикса \ обратной косой черты для псевдонимов фасадов - PullRequest
0 голосов
/ 30 сентября 2018

Я не знаю причину сбоя в следующем примере:

Auth::user()->id 

Однако, просто добавив к нему обратную косую черту, он будет работать нормально:

\Auth::user()->id

Этофрагмент от config/app.php

'aliases' => [

        'App' => Illuminate\Support\Facades\App::class,
        'Artisan' => Illuminate\Support\Facades\Artisan::class,
        'Auth' => Illuminate\Support\Facades\Auth::class,
        'Blade' => Illuminate\Support\Facades\Blade::class,
        'Broadcast' => Illuminate\Support\Facades\Broadcast::class,

Сервер Apache на Ubuntu 16.04

1 Ответ

0 голосов
/ 30 сентября 2018

Это , как работают пространства имен .

Когда вы находитесь в типичной модели Laravel, контроллере и т. Д., Вы находитесь в его пространстве имен - что-то вроде App или App\Http\Controllers или еще много чего.Таким образом, Auth::foo() означает App\Auth::foo() или App\Http\Controllers\Auth::foo() соответственно.

Вот почему примеры, которые учат вас, как использовать Auth , все делают use Illuminate\Support\Facades\Auth; до того, как они используютAuth class, и скажем что-то вроде:

Мы получим доступ к службам аутентификации Laravel через фасад Auth, поэтому нам нужно обязательно импортировать фасад Auth сверхукласса.

...