IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> PHP知识库 -> laravel框架学习(03):目录结构 -> 正文阅读

[PHP知识库]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日志

  PHP知识库 最新文章
Laravel 下实现 Google 2fa 验证
UUCTF WP
DASCTF10月 web
XAMPP任意命令执行提升权限漏洞(CVE-2020-
[GYCTF2020]Easyphp
iwebsec靶场 代码执行关卡通关笔记
多个线程同步执行,多个线程依次执行,多个
php 没事记录下常用方法 (TP5.1)
php之jwt
2021-09-18
上一篇文章      下一篇文章      查看所有文章
加:2021-08-15 15:18:07  更:2021-08-15 15:18:32 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年5日历 -2024/5/14 22:53:40-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码