Laravel8学习笔记01 - 目录结构

IT小马
English

根目录

目录二级目录简介作用
/app 应用目录应用的核心代码
/bootstrap 启动目录
app.php 框架的启动和自动载入配置
./cache路由和服务缓存框架为提升性能所生成的文件
/config 配置目录
/database 数据库目录数据库迁移文件及填充文件
/public 对外公开目录应用入口文件和前端资源文件
index.php应用入口文件
/resources 资源目录应用视图文件和未编译的原生前端资源文件
/routes 路由目录
web.phpweb 中间件组支持 Session、CSRF 保护以及 Cookie 加密功能
api.phpapi 中间件组支持频率限制功能
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异常处理包含应用的异常处理器
/HttpWeb应用包含了控制器、中间件以及表单请求等
/Jobs队列任务存放队列任务。make:job
/Listeners事件监听事件监听器。event:generatemake:listener
/Mail邮件邮件相关类。make:mail
/ModelsEloquent模型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 |

阅读 455

IT小马の菜园
IT菜鸟的学习博客

版本控制:git

1k 声望
19 粉丝
0 条评论

版本控制:git

1k 声望
19 粉丝
文章目录
宣传栏