梦入琼楼寒有月,行过石树冻无烟

Laravel 文件结构

在不同的开发环境和项目中,文件结构是一个非常重要的一点,如maven的文件结构可以分为src/main/等等,在这些结构中都会有一个默认的“潜规则”。如你在开发项目的时候,还在本地测试阶段,而你却将项目源代码放到了/src/main目录下,这则会让同事觉得你有点问题。Laravel的文件结构也一样,如下:

ID DA FA
app 用于包含应用程序的核心代码 开发项目的时候所有类都将存放于此
Console 包含应用程序中所有自定义的Artisan命令
Events* 默认情况并不存在,主要用于放置事件类,用于警告应用程序和其他部分发生了一个给定的操作
Exceptions 包含应用程序的异常处理,也可放置应用程序跑出的任何异常
Http 包含控制器、中间件、表单请求,处理应用程序请求的所有逻辑基本都将放置在此目录
Jobs* jobs目录是一般情况下并不存在的,用于包含应用程序的队列
Listeners* 默认情况下并不存在,主要用于包含事件处理类
Mail* Mail目录并不存在,主要用于包含应用程序发送邮件的类
Notifications* 默认情况下不存在,用于包含应用程序发送的所有事物同志
Policies* 默认情况下并不存在,主要用于包含授权策略类,即用户是否可以对一个资源进行访问等
Providers 用于包含应用程序的所有服务提供者,服务提供者将通过服务容器绑定服务引导程序。在新的Laravel应用中,此项目母吕将会包含一些应用提供者,可根据自己的需求将自己添加到此母吕中
Rules* 默认情况并不存在,主要包含应用程序自定义验证规则对象
bootstrap 主要包含app.php以及cache目录 cache用于存放框架所自动生成来提升整体性能文件
Config 即配置包含了配置文件 可阅读这些配置文件来掌握Laravel
database 即数据填充和模型工厂类 当然顾名思义你也可以用于放置数据库文件?
public public目录包含了首页文件index.php 还可用于放置资源文件如js/css/img
resources 包含了图像和一些未编译的文件 你可用于存放SASS这些
routes routes 目录包含了所有的路由定义类 此外还有默认存在的api.php channels.php console.php web.php路由文件。
web.php 放置在了web中间件组的路由,提供了会话状态、CSRF防护和cookie加密
api.php 放置在api中间件组的路由,提供频率限制,通过路由进入应用请求通过令牌进行认证
console.php 定义所有基于终端命令闭包汉书的文件,每个闭包汉书都被绑定到了一个命令示例且允许命令号IO方法的进行简单交互
storage 哟用于存储编译后的blade、session、缓存、框架生成的文件 内包含了app、framework、logs三个子目录,分别对应应用生成、框架生成、日志生成
storage/app/public 用于包含用户生成的文件
tests 即用于包含自动化测试文件 此处潜规则是每个自测试类都以test作为后缀
vendor 包含项目中所有的 composer 依赖包
⬅️ Go back