首页 > 解决方案 > 如何在 laravel 8 命名空间 App 下添加东西

问题描述

我必须做什么才能使用 App\Traits\Uuids;

namespace App\Models;

use Illuminate\Contracts\Auth\MustVerifyEmail;
use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Foundation\Auth\User as Authenticatable;
use Illuminate\Notifications\Notifiable;
use app\Traits\Uuids;

uuids 特征位于 ..\app\Traits\Uuid.php 下,因此它仅在使用带有小帽的 app\Traits 时才有效。

如果我使用命名空间

namespace App\Traits;

代替

namespace app\Traits;

我正在使用 Composer 版本 2.1.3 2021-06-09 16:31:20 当我运行

composer dump-autoload

它会返回

 "Class App\Traits\Uuids located in [...]/app/Traits\Uuid.php does not comply with psr-4 autoloading standard. Skipping." 

标签: laravel-8

解决方案


除了匹配大写,如建议的那样,文件名必须与类名匹配。

将 php 文件重命名为 Uuid.php 删除了 psr-4 错误。

composer.json 有一项将 App 重命名为 app/ 的规定,该部分开箱即用。

 "autoload": {
        "psr-4": {
            "App\\": "app/",

}


推荐阅读