关于laravel:Laravel8学习笔记01-目录结构

33次阅读

共计 2099 个字符,预计需要花费 6 分钟才能阅读完成。

根目录

目录 二级目录 简介 作用
/app 利用目录 利用的外围代码
/bootstrap 启动目录
app.php 框架的启动和主动载入配置
./cache 路由和服务缓存 框架为晋升性能所生成的文件
/config 配置目录
/database 数据库目录 数据库迁徙文件及填充文件
/public 对外公开目录 利用入口文件和前端资源文件
index.php 利用入口文件
/resources 资源目录 利用视图文件和未编译的原生前端资源文件
/routes 路由目录
web.php web 中间件组 反对 Session、CSRF 爱护以及 Cookie 加密性能
api.php api 中间件组 反对频率限度性能
console.php 控制台命令 用于定义所有基于闭包的控制台命令
channels.php 用于注册利用反对的所有事件播送频道
/storage 文件存储目录 Blade、Session、文件缓存,框架生成的文件
./app 利用生成的文件
./public 用于存储用户生成的文件
./framework 框架生成的文件和缓存
./logs 利用的日志文件
/tests 测试目录 能够通过 phpunit命令运行测试
/vendor 依赖目录 蕴含了利用所有通过 Composer 加载的依赖

备注

1. 控制台路由 /routes/console.php

Artisan::command('inspire', function () {$this->comment(Inspiring::quote());
})->purpose('Display an inspiring quote');

php artisan inspire

利用目录 /app

目录 简介 作用
/Broadcasting 播送频道类 事件播送。make:channel
/Console 工作脚本 注册 Artisan 命令,定义调度工作。make:command
/Events 事件 寄存事件类。event:generatemake:event
/Exceptions 异样解决 蕴含利用的异样处理器
/Http Web 利用 蕴含了控制器、中间件以及表单申请等
/Jobs 队列工作 寄存队列工作。make:job
/Listeners 事件监听 事件监听器。event:generatemake:listener
/Mail 邮件 邮件相干类。make:mail
/Models Eloquent 模型 Eloquent 模型类。make:model
/Notifications 告诉 发送告诉。make:notification
/Policies 受权 受权策略。make:policy
/Providers 服务提供者 在利用启动过程中绑定服务到容器、注册事件以及执行其余工作。
/Rules 验证规定 在单个对象中封装简单的验证逻辑。make:rule

备注

PSR- 4 主动载入规范 https://learnku.com/docs/psr/…
1. 此处的“类”泛指所有的 class 类、接口、traits 可复用代码块以及其它相似构造。
2. 一个残缺的类名需具备以下构造:
 \< 命名空间 >(\< 子命名空间 >)*\< 类名 >
  1. 残缺的类名必须要有一个顶级命名空间,被称为 “vendor namespace”;
  2. 残缺的类名能够有一个或多个子命名空间;
  3. 残缺的类名必须有一个最终的类名;
  4. 残缺的类名中任意一部分中的下滑线都是没有非凡含意的;
  5. 残缺的类名能够由任意大小写字母组成;
  6. 所有类名都必须是大小写敏感的。
  7. 当依据残缺的类名载入相应的文件……
  8. 残缺的类名中,去掉最后面的命名空间分隔符,后面间断的一个或多个命名空间和子命名空间,作为“命名空间前缀”,其必须与至多一个“根目录”绝对应;
  9. 紧接命名空间前缀后的子命名空间 必须 与相应的”文件基目录“相匹配,其中的命名空间分隔符将作为目录分隔符
  10. 开端的类名必须与对应的以 .php 为后缀的文件同名。
  11. 主动加载器(autoloader)的实现肯定不能抛出异样、肯定不能触发任一级别的错误信息以及不应该有返回值。
3. 范例

| 残缺类名 | 命名空间前缀 | 文件基目录 | 文件门路 |
| :————————— | :————– | :——————— | :—————————————- |
| \Acme\Log\Writer\File_Writer | Acme\Log\Writer | ./acme-log-writer/lib/ | ./acme-log-writer/lib/File_Writer.php |
| \Aura\Web\Response\Status | Aura\Web | /path/to/aura-web/src/ | /path/to/aura-web/src/Response/Status.php |
| \Symfony\Core\Request | Symfony\Core | ./vendor/Symfony/Core/ | ./vendor/Symfony/Core/Request.php |
| \Zend\Acl | Zend | /usr/includes/Zend/ | /usr/includes/Zend/Acl.php |

正文完
 0