Class 类别';模块\媒体';在eval()和#x27中未找到;nWidart安装Laravel模块后,Laravel中第1行的d代码

Class 类别';模块\媒体';在eval()和#x27中未找到;nWidart安装Laravel模块后,Laravel中第1行的d代码,class,laravel-5,module,Class,Laravel 5,Module,我在一个项目中使用nWidart的laravel模块。这个想法很好,但我不喜欢模块目录以大写字母(modules)开头 我决定更改配置文件中的目录名: /config/modules.php 我将名称空间保留为模块,但更改了路径: return [ 'namespace' => 'Modules', 'paths' => [ 'modules' => base_path('modules'), // Used to be ('Modules')

我在一个项目中使用nWidart的laravel模块。这个想法很好,但我不喜欢模块目录以大写字母(modules)开头

我决定更改配置文件中的目录名:

/config/modules.php
我将名称空间保留为模块,但更改了路径:

return [
    'namespace' => 'Modules',
    'paths' => [
        'modules' => base_path('modules'), // Used to be ('Modules')
    ]
];
我将其添加到composer.json文件中:

"autoload": {
    "classmap": [
        "database"
    ],
    "psr-4": {
        "App\\": "app/",
        "Modules\\": "modules/"
    }
},
现在,我创建了一个名为Media的模块:

php artisan module:make Media
并创建了一个模型媒体:

php artisan module:make-model Media media
我的模型是这样的:

<?php
    namespace Modules\Media\Entities;
    use Illuminate\Database\Eloquent\Model;

    class Media extends Model{
        //
        public function categories(){
            return $this->belongsToMany( Category::class, 'category_media' );
        }
    }
我尝试从数据库加载一个对象(已存在):

$file = \Modules\Media\Entities::find( 1 );

我得到这个错误:

PHP Fatal error:  Class 'Modules\Media\Entities' not found in eval()'d code on line 1

关于问题的起因有什么想法吗?是因为目录名的改变吗?我是否在composer.json配置中遗漏了什么?我不知道。

在阅读了我自己的代码后,我发现我没有引用类,而只是引用了名称空间。调用媒体类的正确方法是:

$file = \Modules\Media\Entities\Media::find( 1 );
(请注意,这次我以\Media结尾)

当然,结果是预期的:

=> Modules\Media\Entities\Media {#857
     id: 1,
     filename: "my_file.jpg",
     properties: "[]",
     mime: "image\jpg",
     extension: "jpg",
     created_at: "2017-05-21 04:37:28",
     updated_at: "2017-05-21 04:37:28",
     published: 0,
     published_at: "2017-05-20 23:37:28",
   }

尝试
composer dump autoload
$file = \modules\Media\Entities::find( 1 );
PHP Fatal error:  Class 'Modules\Media\Entities' not found in eval()'d code on line 1
$file = \Modules\Media\Entities\Media::find( 1 );
=> Modules\Media\Entities\Media {#857
     id: 1,
     filename: "my_file.jpg",
     properties: "[]",
     mime: "image\jpg",
     extension: "jpg",
     created_at: "2017-05-21 04:37:28",
     updated_at: "2017-05-21 04:37:28",
     published: 0,
     published_at: "2017-05-20 23:37:28",
   }