当前位置: 首页 > 后端技术 > PHP

Laravel8学习笔记01-目录结构

时间:2023-03-29 17:24:08 PHP

根目录二级目录介绍功能/app应用目录应用核心代码/bootstrap启动目录app.php框架启动及自动加载配置./cache路由和服务缓存框架是为提高性能而生成的文件/config配置目录/database数据库目录数据库迁移文件和填充文件/public公共目录应用入口文件和前端资源文件index.php应用入口文件/resources资源目录应用视图文件和未编译的原生前端资源文件/路由路由目录web.phpweb中间件组支持Session、CSRF保护和Cookie加密功能api.phpapi中间件组支持限频功能console.phpconsolecommand用于定义所有基于闭包的console命令通道.php用于注册所有事件广播应用支持的通道/storage文件存放目录Blade、Session、文件缓存、框架生成的文件。/app应用生成的文件。/public用于存放用户生成的文件。/framework生成的文件和缓存。/logs应用logfiles/tests测试目录可以通过phpunit命令运行测试/vendordependency目录包含Composer加载的所有依赖备注1.Consoleroute/routes/console.phpArtisan::command('inspire',function(){$this->comment(Inspiring::quote());})->purpose('Displayaninspiringquote');phpartisaninspire应用目录/app目录介绍功能/Broadcasting广播频道类事件广播。make:channel/Console任务脚本注册Artisan命令并定义计划任务。make:command/Events事件存储事件类。event:generateandmake:event/Exceptions异常处理包括应用程序异常处理程序/HttpWeb应用程序包括控制器、中间件和表单请求等/Jobs队列任务存储队列任务。make:job/Listeners事件监听事件监听器。event:generate和make:listener/Mail邮件相关的类。make:mail/ModelsEloquent模型Eloquent模型类。make:model/NotificationsNotifications发送通知。make:notification/Policiesauthorization授权策略。make:policy/Providers服务提供者在应用程序启动期间将服务绑定到容器、注册事件和执行其他任务。/Rules验证规则将复杂的验证逻辑封装在单个对象中。make:ruleRemarksPSR-4自动加载标准https://learnku.com/docs/psr/...1.这里的“类”是指所有类、接口、traits可重用代码块和其他类似结构。2.一个完整的类名必须具有以下结构:\(\)*\完整的类名必须有一个名为“vendornamespace”的顶级命名空间;一个完整的类名可以有一个或多个子命名空间;一个完整的类名必须有一个最终的类名;完整类名的任何部分中的下划线都没有特殊含义;一个完整的类名可以由任意大写和小写字母定义;所有类名都必须区分大小写。当根据完整类名加载对应文件时...完整类名中去掉第一个命名空间分隔符,将其之前的一个或多个连续的命名空间和子命名空间作为“命名空间前缀”,必须对应至少一个“根目录”;紧跟在命名空间前缀之后的子命名空间必须匹配相应的“文件基目录”,其中命名空间分隔符将用作目录分隔符。末尾的类名必须与对应的.php后缀的文件同名。自动加载器的实现不得抛出异常,不得触发任何级别的错误消息,并且不得返回值。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/src/|/路径/到/aura-web/src/Response/Status.php||\Symfony\核心\请求|交响乐\核心|./供应商/Symfony/核心/|./vendor/Symfony/Core/Request.php||\Zend\Acl|禅|/usr/包括/Zend/|/usr/includes/Zend/Acl.php|