我对PHP和Laravel完全陌生。
我正在开发一个Laravel 5.3应用程序,我必须使用自定义 Web 服务来检查用户凭据,所以我正在尝试遵循这个关于添加自定义提供程序来处理用户访问的官方教程:https ://laravel.com/docs /5.3/authentication#adding-custom-user-providers。所以,理论上它看起来很简单,但我发现了一些困难。
正如您在上一个教程中看到的那样,第一步是修改 Laravel 项目中包含的App\Providers\AuthServiceProvider类。
因此,我根据获得此的教程示例修改了我的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 用红色标记扩展,说“未定义扩展命名空间”,因此它不能在我的代码中使用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'));
});