Heim > Fragen und Antworten > Hauptteil
Bitte gebt mir ein wenig Hilfe. Ich versuche, gemäß der offiziellen Dokumentation einen Pass für meine Laravel-Anwendung einzurichten. Aber ich stecke bei den Schritten fest, die ich überprüfen muss, bevor ich anrufe Passport::routes()
. Mein vscode zeigt einen Fehler an
Undefinierte Methode: RoutenAreCached()
Selbst wenn ich auf die abstrakte Basisklasse ServiceProvider.php zurückgreife, scheint der Code dort $this->app->routesAreCached()
ohne Probleme aufzurufen. Unten ist mein AppProvidersAuthServiceProvider.php-Code.
<?php namespace AppProviders; use IlluminateFoundationSupportProvidersAuthServiceProvider as ServiceProvider; use IlluminateSupportFacadesGate; use LaravelPassportPassport; class AuthServiceProvider extends ServiceProvider { /** * The model to policy mappings for the application. * * @var array<class-string, class-string> */ protected $policies = [ // 'AppModelsModel' => 'AppPoliciesModelPolicy', ]; /** * Register any authentication / authorization services. * * @return void */ public function boot() { $this->registerPolicies(); /** * This method will register the routes necessary to issue access tokens and revoke access tokens, clients, and personal access tokens: * */ if (! $this->app->routesAreCached()) { // error at this line Passport::routes(); } } }
P粉0068477502023-11-09 14:07:52
试试这个
/** @var CachesRoutes $app */ $app = $this->app; if (!$app->routesAreCached()) { Passport::routes(); }
我希望它有用!
P粉5369091862023-11-09 12:22:10
Passport 的路线已移至专用路线文件中。您可以从应用程序的服务提供商处删除 Passport::routes()
调用。
此链接可能有帮助