一、一级目录(根目录下)
目录/文件 | 说明 |
app/ | 应用的核心代码:如定时任务,控制器,模型,服务,中间件,参数校验过滤等 |
bootstrap/ | 框架的启动和自动载入的配置文件。还有一个 cache 文件夹,里面包含了框架为提升性能所生成的文件,如路由和服务缓存文件 |
config/ | 应用的配置文件 |
database/ | 数据库迁移文件及填充文件 |
node_modules/ | 安装node后用来存放用包管理工具下载安装的包的文件夹 |
public/ | 应用根目录,有应用入口文件 index.php和 前端资源文件(图片、JavaScript、CSS等) |
resources/ | 应用视图文件和未编译的原生前端资源文件,本地化语言文件 |
routes/ | 应用定义的所有路由 |
storage/ | 编译后的 Blade 模板、基于文件的 Session、文件缓存,日志等 |
tests | 自动化测试文件 |
vendor/ | 目录包含了应用所有通过 Composer 加载的依赖 |
.editorconfig | 帮助开发人员在不同的编辑器和IDE之间定义和维护一致的编码样式 |
.env | 全局默认配置文件,不论什么环境都会加载合并。一般项目还会有.env.testing,.env.pro对应测试环境和生产环境参数。 |
.env.example | 配置文件示例,.env一搬有这里copy过去修改 |
.gitattributes/gitignore | git的隐藏文件。定义每种文件的属性,以方便 git 帮我们统一管理/要忽略的文件模式 |
.phpunit.result.cache | |
.styleci.yml | PHP 的持续集成工具,具有 代码格式化 功能。 |
artisan | Artisan是Laravel自带的命令行接口名称:php artisan list |
composer.json | 管理项目依赖包的工具 |
composer.lock | composer install 将会读取composer.lock文件,进行更新依赖。如果composer.lock不存在或者里面没内容,会执行composer.json,composer.lock文件阻止您自动获取最新版本的依赖项。要更新到最新版本,请使用composer update命令 |
packages.json | 项目描述文件,记录了当前项目信息,例如项目名称、版本、作者、github地址、 当前项目依赖了哪些第三方模块等。package.json文件在项目根目录下使用npm init -y命令生成 |
package-lock.json | package-lock.json记录了node_modules目录下所有模块的具体来源和版本号以及其他的信息 |
phpunit.xml | phpunit配置文件 |
README.md | git项目的说明 |
server.php | 内置的php服务器,可以用:php artisan serve启动 |
webpack.mix.js | 资源文件打包配置文件,后端资源打包可以配置 |
(1)app目录
Broadcasting | 默认不存在。应用所需的所有广播频道类,make:channel 命令生成 |
Console | 定时任务,可以使用 make:command 命令生成,可以注册自定义的 Artisan 命令,commands有示例。如TestCommand.php,控制台执行:php artisan test ,代码会执行到handle()方法 |
Events | 默认不存在。存放事件类,event:generate 和 make:event 命令创建。事件类用于告知应用其他部分某个事件发生情况并提供灵活的、解耦的处理机制 |
Exceptions | 异常处理器。自定义异常处理类,需要编辑该目录下的 Handler 类。可以自定义接口异常返回。 |
Http | 控制器、中间件以及表单请求过滤校验 |
Jobs | 默认不存在。用于存放队列任务,make:job 命令生成 |
Listeners | 默认不存在。处理事件的类(事件监听器),event:generate 和 make:listener 命令创建。可以监听数据库sql执行时间等。 |
默认不存在。包含应用所有邮件相关类make:mail | |
Notifications | 默认不存在。包含应用发送的所有通知make:notification |
Policies | 默认不存在。应用所有的授权策略类 |
Providers | 所有服务提供者。服务提供者在应用启动过程中绑定服务到容器、注册事件以及执行其他任务为即将到来的请求处理做好准备工作。 |
Rules | 默认不存在。自定义验证规则。make:rule |
(2)bootstrap目录
app.php | 一些重要的接口绑定到容器,返回$app实例对象 |
cache | 包含了框架为提升性能所生成的文件,如路由和服务缓存文件 |
(3)config目录
app.php | 全局配置变量,多数从.env读取过来的,真实的值是存在.env |
auth.php | 认证服务相关配置变量 |
broadcasting.php | 广播服务配置参数 |
cache.php | 缓存相关设置,默认存文件:apc,序列化,数据库,文件,memcached,redis,DynamoDB |
cors.php | 跨源资源共享(CORS)配置 |
database.php | 数据库连接信息,包括redis |
filesystems.php | 系统文件存储磁盘,可设本地,也可以设置云存储 |
hashing | 哈希驱动相关,缺省时候用:bcrypt |
logging.php | 日志通道 |
mail.php | 邮件发送配置相关,默认smtp |
queue.php | 队列配置相关,默认异步 |
services.php | 第三方服务,Mailgun:群发邮件,Postmark:测试后端存储性能, AWS:亚马逊云服务等 |
session.php | session相关配置,默认存文件 |
view.php | 视图存储路径,默认resources/views/下 |
(4)database目录
factories | 这个目录包含每个模型工厂定义 |
migrations | 数据库迁移文件,里面定义数据库字段,类型,约束等 |
seeds | 应用程序的数据库,插入数据哪些 |
(5)resources目录
js | js文件 |
lang | 国际化语言,字段过滤返回提示 |
sass | css样式 |
views | 模板文件,xxx.blade.php文件 |
(6)routes目录
api.php | 接口路由,可以配合api中间件一起使用 |
channels.php | 广播信道,给定的通道授权回调,用于检查通过身份验证的用户是否可以监听通道 |
console.php | 控制台路由 |
web.php | web控制器的路由 |
(7)storage目录
app | 存放应用生成的文件 |
framework | 存放框架生成的文件和缓存。包含编译后的 Blade 模板、基于文件的 Session、文件缓存,以及其它由框架生成的文件 |
logs | 日志 |