如何在 lumen 应用程序中添加 laravel\passport 修复 app/Models/User.php 中的错误?

How in in lumen app adding laravel\passport fix error in app/Models/User.php?

阅读文章: https://medium.com/@misteryomi/integrating-laravel-passport-in-your-lumen-project-with-example-1c2b8719c30

我尝试使用 dusterio/lumen-passport 插件在 lumen 应用程序 laravel\passport 中安装,但我坚持 app/Models/User.php 修改:

<?php

namespace App\Models;

use Illuminate\Database\Eloquent\Model;
use Illuminate\Support\Str;
use DB;
use Illuminate\Validation\Rule;
use Laravel\Passport\HasApiTokens;
use Illuminate\Contracts\Auth\Authenticatable as AuthenticatableContract;
use Illuminate\Contracts\Auth\Access\Authorizable as AuthorizableContract;

class User extends Model implements AuthenticatableContract, AuthorizableContract
{
    use HasApiTokens, Authenticatable, Authorizable;
    protected static $password_length = 8;

我收到错误消息:“未找到特征 'App\Models\Authenticatable'。 我试图包含使用 ... 我在网上找到的不同文件,但失败了。

在我的 composer.json 中:

{
    "name": "laravel/lumen",
    "description": "The Laravel Lumen Framework.",
    "keywords": ["framework", "laravel", "lumen"],
    "license": "MIT",
    "type": "project",
    "require": {
        "php": "^7.3|^8.0",
        "cviebrock/eloquent-sluggable": "^8.0",
        "dusterio/lumen-passport": "^0.3.4",
        "laravel/lumen-framework": "^8.0",
        "laravel/passport": "^10.1",
        "webpatser/laravel-uuid": "^3.0"
    },
    "require-dev": {
        "fakerphp/faker": "^1.9.1",
        "mockery/mockery": "^1.3.1",
        "phpunit/phpunit": "^9.3"
    },
    "autoload": {
        "files": [
            "app/library/helper.php"
        ],
        "psr-4": {
            "App\": "app/",
            "Database\Factories\": "database/factories/",
            "Database\Seeders\": "database/seeders/"
        }
    },
    "autoload-dev": {
        "classmap": [
            "tests/"
        ]
    },
    "config": {
        "preferred-install": "dist",
        "sort-packages": true,
        "optimize-autoloader": true
    },
    "minimum-stability": "dev",
    "prefer-stable": true,
    "scripts": {
        "post-root-package-install": [
            "@php -r \"file_exists('.env') || copy('.env.example', '.env');\""
        ]
    }
}

如何解决?

谢谢!

好吧,如果应用程序找不到护照的 类,您可以使用 composer 命令强制重新安装依赖项。

composer require dusterio/lumen-passport

或者您可以使用

重新安装所有依赖项
composer install