在php的大多数mvc
框架中,目录结构都是大同小异,这里介绍一下laravel
中的目录结构是怎样的。
首先看下刚刚创建的项目中的根目录
下面给出根目录下各个文件夹的含义
app目录
app根目录可以说是我们开发的主要目录。一些控制器、模型、方法函数、事件、异常、中间件声明都放在app目录中。如下所示
下面介绍每个子目录的用途。
Console
Console文件夹包含 Laravel 所需的artisan
命令,Console目录包含一个Commands目录,其中所有的命令都在该文件夹中声明。这个在后面详细讲解。
Events
此文件夹包含项目的所有事件。
事件是一个触发机制,有点像数据库中的触发器,比如在我们的网站中,注册成功之后可以发送短信通知。
Exceptions
该文件夹可以存放我们自定义的异常信息,比如校验错误或者网站404错误等。
Http
Http目录用于存放我们的控制器和中间件,也是我们开发中用到最多的目录。
Middleware子目录可以做过滤和响应请求。
Providers
provider是laravel程序的核心所在,包括你自己的应用程序,以及所有的laravel核心服务,都是通过服务提供者启动的。一般而言,我们指的是注册事物,包括注册服务容器绑定、事件侦听器、中间件,甚至路由。服务提供者是设置你的应用程序的中心所在。
bootstrap目录
此文件夹用来存放一些初始化脚本,它包含一个名为 cache 的子文件夹,其中包含与缓存 Web 应用程序相关的所有文件。 您还可以找到文件 app.php,它用于初始化引导程序所需的脚本。
config目录
config 文件夹包含 Laravel 应用程序运行所需的各种配置和相关参数。 配置文件夹中包含的各种文件如下图所示。 文件名根据与它们关联的功能命名。
database目录
它包括三个子目录,如下所示:
- Seeds:包含用于单元测试数据库的类。
- Migrations:用户数据迁移使用。
- factories:用于生成大量数据记录。
public目录
它是laravel项目的根目录, 它包括以下文件:
- htaccess:ApacheHTTP Server 的配置文件,推荐使用nginx配置。
- index.php:项目的入口文件。
resources目录
resources目录用来存放mvc框架的视图文件,它包括以下内容:
- assets:assets 文件夹包括 LESS 和 SCSS 等文件,它们是 Web 应用程序样式文件。
- lang:此文件夹为语言配置,可以配置项目的国际化实现。
- views。 视图文件夹,用来存放视图文件。
storage目录
该目录用来存放日志和一些缓存内容,它包括以下目录:
- app:此文件夹包含应用生成的文件。
- framework:此文件夹存放经常调用的会话、缓存和视图。
- logs:此文件夹中存放所有异常和错误日志。
vender目录
vendor目录包含所有 composer 依赖项。