Laravel5配置Models命名空间

配置Models目录

laravel5去掉了models目录,新版本将Eloquent的模型User.php放置到app 目录下,但我还是习惯将所有的模型文件统一到Models目录中。

许多初学者都会困惑 Laravel 为什么没有 models 目录,这是有意而为之的。因为 models 这个词对不同人而言有不同的含义,容易造成歧义,有些开发者认为应用的模型指的是业务逻辑,另外一些人则认为模型指的是与数据库的交互。正是因为如此,我们默认将 Eloquent 的模型放置到 app 目录下,从而允许开发者自行选择放置的位置。 —— Laravel5官方文档

  • app目录下创建Models文件夹
  • composer.json->autoload->classmap添加该目录
1
2
3
4
5
6
7
"autoload": {
"classmap": [
"database",
"app/Models"
],
...
}
  • 修改app/User.php的命名空间为App/Models,并将该文件移动到Models目录中
  • 修改Auth配置文件config/auth.phpUser模型的命名空间
1
2
3
4
5
6
7
'providers' => [
'users' => [
'driver' => 'eloquent',
'model' => App\Models\User::class,
],
...
]

添加模型

至此models相关配置就完成了,使用artisan添加模型时命令如下:

1
2
#添加国家模型
$ php artisan make:model Models/Country

本文作者:Jormin
本文地址https://blog.lerzen.com/2017/01/07/laravel5配置models命名空间/
版权声明:本博客所有文章除特别声明外,均采用 CC BY-NC-SA 3.0 CN 许可协议。转载请注明出处!

----- 到这结束咯 感谢您的阅读 -----