laravel框架学习(03):目录结构

 一、一级目录(根目录下) 

目录/文件说明
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/gitignoregit的隐藏文件。定义每种文件的属性,以方便 git 帮我们统一管理/要忽略的文件模式
.phpunit.result.cache
PHPUnit测试缓存文件
.styleci.yml PHP 的持续集成工具,具有 代码格式化 功能。
artisanArtisan是Laravel自带的命令行接口名称:php artisan list
composer.json管理项目依赖包的工具
composer.lockcomposer install 将会读取composer.lock文件,进行更新依赖。如果composer.lock不存在或者里面没内容,会执行composer.json,composer.lock文件阻止您自动获取最新版本的依赖项。要更新到最新版本,请使用composer update命令
packages.json项目描述文件,记录了当前项目信息,例如项目名称、版本、作者、github地址、 当前项目依赖了哪些第三方模块等。package.json文件在项目根目录下使用npm init -y命令生成
package-lock.jsonpackage-lock.json记录了node_modules目录下所有模块的具体来源和版本号以及其他的信息
phpunit.xmlphpunit配置文件
README.mdgit项目的说明
server.php内置的php服务器,可以用:php artisan serve启动
webpack.mix.js

       资源文件打包配置文件,后端资源打包可以配置webpack.admin.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执行时间等。
Mail默认不存在。包含应用所有邮件相关类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.phpsession相关配置,默认存文件
view.php视图存储路径,默认resources/views/下

(4)database目录

factories这个目录包含每个模型工厂定义
migrations       数据库迁移文件,里面定义数据库字段,类型,约束等
seeds       应用程序的数据库,插入数据哪些

(5)resources目录

jsjs文件
lang国际化语言,字段过滤返回提示
sasscss样式
views模板文件,xxx.blade.php文件

(6)routes目录

api.php接口路由,可以配合api中间件一起使用
channels.php广播信道,给定的通道授权回调,用于检查通过身份验证的用户是否可以监听通道
console.php控制台路由
web.phpweb控制器的路由

(7)storage目录

app存放应用生成的文件
framework存放框架生成的文件和缓存。包含编译后的 Blade 模板、基于文件的 Session、文件缓存,以及其它由框架生成的文件
logs日志

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值