Я абсолютно новичок в PHP и Laravel.
Я работаю над приложением Laravel 5.3, и мне нужно использовать пользовательский веб-сервис для проверки учетных данных пользователя, поэтому я пытаюсь следовать этому официальному руководству о Добавлении пользовательского поставщика. для обработки доступа пользователей: https://laravel.com/docs/5.3/authentication#adding-custom-user-providers. Итак, в теории это кажется довольно простым, но я нахожу некоторые трудности.
Как вы можете видеть в предыдущем руководстве, в качестве первого шага необходимо изменить класс App\Providers\AuthServiceProvider, содержащийся в проекте Laravel.
Итак, я изменил свой AuthServiceProvider в соответствии с учебным примером, получив следующее:
<?php
namespace App\Providers;
use Illuminate\Support\Facades\Gate;
use Illuminate\Foundation\Support\Providers\AuthServiceProvider as ServiceProvider;
use Illuminate\Support\Facades\Auth;
use App\Extensions\RiakUserProvider;
use Illuminate\Support\ServiceProvider;
class AuthServiceProvider extends ServiceProvider
{
/**
* The policy mappings for the application.
*
* @var array
*/
protected $policies = [
'App\Model' => 'App\Policies\ModelPolicy',
];
/**
* Register any authentication / authorization services.
*
* @return void
*/
public function boot()
{
$this->registerPolicies();
// CUSTOM CODE:
Auth::provider('riak', function ($app, array $config) {
// Return an instance of Illuminate\Contracts\Auth\UserProvider...
return new RiakUserProvider($app->make('riak.connection'));
});
}
}
Проблема в том, что он не может найти пространство имен App\Extension, это:
use App\Extensions\RiakUserProvider;
PhpStorm подписывает Exstensions красным цветом, говоря "Undefined Extensions namespace", поэтому он не может использовать класс RiakUserProvider в моем коде.
Почему? Нужно ли добавлять некоторые зависимости в Composer? Что случилось? Что мне не хватает? Как я могу решить эту проблему?
Что такое класс RiakUserProvider?
Что именно делает этот код:
Auth::provider('riak', function ($app, array $config) {
// Return an instance of Illuminate\Contracts\Auth\UserProvider...
return new RiakUserProvider($app->make('riak.connection'));
});