默认的 Laravel 应用结构旨在为不同大小的应用提供一个好的起点。当然,你可以按照喜好整理应用的目录结构。Laravel 没有严格地限制任何给定的类的位置,只要它们能被 Composer 自动加载即可。
.env 文件
.env 文件是 Laravel 5.5 的环境变量配置文件,用来存放那些会随着环境的变化而变化的变量,比如数据库配置。在不同的环境(比如本地环境和线上环境),数据库的配置很可能不一样,那这个配置就不应该写在 config 目录中,而应该写在 .env 文件中,因为它不会提交到版本库。
Models 目录
Laravel 并没有提供 Models 目录,默认会将 Model 文件放在 app 目录中。
官方解释说是因为不同人对 Models 的看法不同,有些开发者认为应用的模型指的是业务逻辑,另外一些人则认为模型指的是与关联数据库的交互。因此,官方让开发者自行选择模型放置的位置。
不过对于国内开发者,Models 目录用于存放与数据库交互的模型类应该没有什么异议,而业务逻辑应该放到 services 这种目录之下。
因此,推荐在生成模型类的时候指定生成到 app/Models 目录下。
打开命令行,切换到项目目录,使用下面的命令创建模型类。
# app/Role.php
php artisan make:model Role
这样,模型文件 Role.php 默认会存放在 app 目录中,该目录中默认有一个 User.php 模型文件。
如果想把模型文件放在其他目录,可在模型名称前加上目录前缀:
# app/