sho*_*rif 7 php laravel-5 laravel-passport
我正在尝试将我的Laravel应用程序配置为使用Passport,并且在我的AppServiceProvider.php中加载该类时遇到困难.这就是我所做的......
<?php // AuthServiceProvider.php
namespace S1\Providers;
use Laravel\Passport\PassportServiceProvider;
use Illuminate\Support\Facades\Gate;
use Illuminate\Foundation\Support\Providers\AuthServiceProvider as
ServiceProvider;
class AuthServiceProvider extends ServiceProvider
{
...
public function boot()
{
$this->registerPolicies();
Passport::routes();
Passport::tokensCan([
'client' => 'this is a api client test'
]);
}
}
Run Code Online (Sandbox Code Playgroud)
.
<?php . // auth.php
...
return [
'guards' => [
'web' => [
'driver' => 'passport',
'provider' => 'users',
],
], ...
Run Code Online (Sandbox Code Playgroud)
.
<?php // app.php
'providers' => [
...
Laravel\Passport\PassportServiceProvider::class,
....
Run Code Online (Sandbox Code Playgroud)
.
<?php // AppServiceProvider.php
namespace S1\Providers;
use Illuminate\Support\ServiceProvider;
use S1\Providers\AppServiceProvider;
use Laravel\Passport\PassportServiceProvider;
class AppServiceProvider extends ServiceProvider
{
public function register()
{
// Enable Laravel Migrations Generator for development only
if ($this->app->environment() !== 'production') {
$this->app->register(\Way\Generators\GeneratorsServiceProvider::class);
$this->app->register(\Xethron\MigrationsGenerator\MigrationsGeneratorServiceProvider::class);
}
}
}
Run Code Online (Sandbox Code Playgroud)
结果是得到以下错误:
[Symfony\Component\Debug\Exception\FatalThrowableError]
Class 'S1\Providers\Passport' not found
Run Code Online (Sandbox Code Playgroud)
我确实有这个工作,但不得不重建,现在我无法通过这个错误.我的命名空间正在发生一些事情,但我无法弄清楚是什么.
Sri*_*opi 24
在你的AuthServiceProvider.php,改变:
use Laravel\Passport\PassportServiceProvider;
Run Code Online (Sandbox Code Playgroud)
至:
use Laravel\Passport\Passport;
Run Code Online (Sandbox Code Playgroud)
好像你忘了导入护照,尝试添加这个
use App\Passport\Passport;
Run Code Online (Sandbox Code Playgroud)
到您的AppServiceProvider
<?php // AppServiceProvider.php
namespace S1\Providers;
use App\Passport\Passport;
use Illuminate\Support\ServiceProvider;
use S1\Providers\AppServiceProvider;
use Laravel\Passport\PassportServiceProvider;
class AppServiceProvider extends ServiceProvider
{
public function register()
{
// Enable Laravel Migrations Generator for development only
if ($this->app->environment() !== 'production') {
$this->app->register(\Way\Generators\GeneratorsServiceProvider::class);
$this->app->register(\Xethron\MigrationsGenerator\MigrationsGeneratorServiceProvider::class);
}
}
}
Run Code Online (Sandbox Code Playgroud)
请检查您的composer.json,laravel/passport是否将其包含在“require”中,如下所示:
"require": {
"php": ">=5.6.4",
"laravel/framework": "5.4.*",
"laravel/passport": "^3.0",
"laravel/tinker": "~1.0"
},
Run Code Online (Sandbox Code Playgroud)
如果不重新运行
作曲家需要 laravel/passport
<?php
namespace App\Providers;
use Laravel\Passport\Passport;
use Illuminate\Support\Facades\Gate;
use Laravel\Passport\PassportServiceProvider;
use Illuminate\Foundation\Support\Providers\AuthServiceProvider as 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();
Passport::routes();
//
}
}
Run Code Online (Sandbox Code Playgroud)