Class 类别';模块\媒体';在eval()和#x27中未找到;nWidart安装Laravel模块后,Laravel中第1行的d代码
我在一个项目中使用nWidart的laravel模块。这个想法很好,但我不喜欢模块目录以大写字母(modules)开头 我决定更改配置文件中的目录名: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')
/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",
}