laravel学习笔记之目录结构
2017-10-31 17:23
288 查看
1、简介
Laravel 应用默认的目录结构试图为不管是大型应用还是小型应用提供一个好的起点,当然,你可以自己按照喜好重新组织应用目录结构,Laravel 对类在何处被加载没有任何限制——只要 Composer 可以自动载入它们即可。
2、根目录
新安装的 Laravel 应用包含许多文件夹:
app目录包含了应用的核心代码;
bootstrap目录包含了少许文件用于框架的启动和自动载入配置,还有一个cache文件夹用于包含框架生成的启动文件以提高性能;
config目录包含了应用所有的配置文件;
database目录包含了数据迁移及填充文件,如果你喜欢的话还可以将其作为 SQLite 数据库存放目录;
public目录包含了前端控制器和资源文件(图片、JavaScript、CSS等);
resources目录包含了视图文件及原生资源文件(LESS、SASS、CoffeeScript),以及本地化文件;
storage目录包含了编译过的Blade模板、基于文件的session、文件缓存,以及其它由框架生成的文件,该文件夹被细分为成app、framework和logs子目录,app目录用于存放应用要使用的文件,framework目录用于存放框架生成的文件和缓存,最后,logs目录包含应用的日志文件;
tests目录包含自动化测试,其中已经提供了一个开箱即用的PHPUnit示例;
vendor目录包含Composer依赖;
3、App目录
应用的核心代码位于app目录下,默认情况下,该目录位于命名空间 App 下, 并且被 Composer 通过 PSR-4自动载入标准 自动加载。你可以通过Artisan命令app:name来修改该命名空间。
app目录下包含多个子目录,如Console、Http、Providers等。Console和Http目录提供了进入应用核心的API,HTTP协议和CLI是和应用进行交互的两种机制,但实际上并不包含应用逻辑。换句话说,它们只是两个向应用发布命令的方式。Console目录包含了所有的Artisan命令,Http目录包含了控制器、中间件和请求等。
Jobs目录是放置队列任务的地方,应用中的任务可以被队列化,也可以在当前请求生命周期内同步执行。
Events目录是放置事件类的地方,事件可以用于通知应用其它部分给定的动作已经发生,并提供灵活的解耦的处理。
Listeners目录包含事件的处理器类,处理器接收一个事件并提供对该事件发生后的响应逻辑,比如,UserRegistered事件可以被SendWelcomeEmail监听器处理。
Exceptions目录包含应用的异常处理器,同时还是处理应用抛出的任何异常的好地方。
注意:app目录中的很多类都可以通过Artisan命令生成,要查看所有有效的命令,可以在终端中运行php artisan list make命令。
Laravel 应用默认的目录结构试图为不管是大型应用还是小型应用提供一个好的起点,当然,你可以自己按照喜好重新组织应用目录结构,Laravel 对类在何处被加载没有任何限制——只要 Composer 可以自动载入它们即可。
2、根目录
新安装的 Laravel 应用包含许多文件夹:
app目录包含了应用的核心代码;
bootstrap目录包含了少许文件用于框架的启动和自动载入配置,还有一个cache文件夹用于包含框架生成的启动文件以提高性能;
config目录包含了应用所有的配置文件;
database目录包含了数据迁移及填充文件,如果你喜欢的话还可以将其作为 SQLite 数据库存放目录;
public目录包含了前端控制器和资源文件(图片、JavaScript、CSS等);
resources目录包含了视图文件及原生资源文件(LESS、SASS、CoffeeScript),以及本地化文件;
storage目录包含了编译过的Blade模板、基于文件的session、文件缓存,以及其它由框架生成的文件,该文件夹被细分为成app、framework和logs子目录,app目录用于存放应用要使用的文件,framework目录用于存放框架生成的文件和缓存,最后,logs目录包含应用的日志文件;
tests目录包含自动化测试,其中已经提供了一个开箱即用的PHPUnit示例;
vendor目录包含Composer依赖;
3、App目录
应用的核心代码位于app目录下,默认情况下,该目录位于命名空间 App 下, 并且被 Composer 通过 PSR-4自动载入标准 自动加载。你可以通过Artisan命令app:name来修改该命名空间。
app目录下包含多个子目录,如Console、Http、Providers等。Console和Http目录提供了进入应用核心的API,HTTP协议和CLI是和应用进行交互的两种机制,但实际上并不包含应用逻辑。换句话说,它们只是两个向应用发布命令的方式。Console目录包含了所有的Artisan命令,Http目录包含了控制器、中间件和请求等。
Jobs目录是放置队列任务的地方,应用中的任务可以被队列化,也可以在当前请求生命周期内同步执行。
Events目录是放置事件类的地方,事件可以用于通知应用其它部分给定的动作已经发生,并提供灵活的解耦的处理。
Listeners目录包含事件的处理器类,处理器接收一个事件并提供对该事件发生后的响应逻辑,比如,UserRegistered事件可以被SendWelcomeEmail监听器处理。
Exceptions目录包含应用的异常处理器,同时还是处理应用抛出的任何异常的好地方。
注意:app目录中的很多类都可以通过Artisan命令生成,要查看所有有效的命令,可以在终端中运行php artisan list make命令。
相关文章推荐
- Laravel5.1 学习笔记1, 目录结构和命名空间(待修)
- android 开发零起步学习笔记(二):熟悉Android studio的目录结构
- 【ThinkPHP3.2.3】学习ThinkPHP笔记:熟悉框架目录结构(2)
- daliu_IT学习Android笔记第四篇--Android SDK目录结构具体是如何的?
- Laravel学习笔记(五)数据库 数据库迁移案例2——创建数据结构,数据表,修改数据结构
- Uboot学习笔记①---(文件目录结构、README摘要、uImage的64字节头信息)
- 韩顺平PHP学习视频笔记整理027apache服务器使用及配置② apache目录结构
- u-boot学习笔记-1、目录结构
- MVC学习笔记2 认识项目的目录结构与核心的DLL
- Androidx学习笔记(1)---Android项目目录结构等
- 【Linux】【学习笔记】Linux目录结构
- MVC学习笔记2 认识项目的目录结构与核心的DLL
- THINKPHP3.2学习笔记(1)目录结构
- linux目录结构及文件基本操作学习笔记
- 学习笔记4-项目的目录结构与安装及启动过程分析
- 第125讲:Hadoop集群管理之SecondaryNamenode目录元数据结构详解及其内幕机制学习笔记
- Linux学习笔记(系统目录结构,ls,文件类型,alias)
- php学习笔记1 apache服务器使用及配置① 启动和停止 端口配置 apache的目录结构
- U-boot目录结构学习笔记