初识Laravel 之目录结构

来源:互联网 发布:unity3d 界面转换 编辑:程序博客网 时间:2024/06/03 17:44

app:应用程序目录,应用程序中几乎所有的类都在此目录中.

bootstrap:引导目录,包含引导框架并自动加载的文件.该目录还包含一个cache目录,其中包含用于性能优化的框架生成文件,例如路由和服务缓存文件.

config:配置目录,包含所有应用程序的配置文件.

database:数据库目录,包含您的数据库迁移和种子.

public:公共目录,public目录包含文件是进入应用程序的所有请求的入口点.此目录还包含您的资源,例如图像JavaScript和css.index.php.

resources:资源目录,包含您的视图,以及您的原始未编译资源(如less,sass或JavaScript).还包含您所有的语言文件.

routes: 路线目录,

routes目录包含应用程序的所有路由定义。默认情况下,有几个途径文件包含Laravel: , web.phpapi.phpconsole.phpchannels.php

文件包含路线的中位中间件组,它提供了会话状态,CSRF保护和Cookie加密。如果您的应用程序不提供无状态的RESTful API,则所有路由都将很可能在文件中定义web.phpRouteServiceProviderwebweb.php

文件包含中间件组中的位置的路由,它提供速率限制。这些路由是无状态的,因此通过这些路由进入应用程序的请求旨在通过令牌进行身份验证,并且不会访问会话状态。api.phpRouteServiceProviderapi

文件是您可以定义所有基于Closure的控制台命令的地方。每个Closure绑定到命令实例,允许简单的方法与每个命令的IO方法进行交互。即使这个文件没有定义HTTP路由,它将基于控制台的入口点(路由)定义到应用程序中。console.php

文件是您可以注册您的应用程序支持的所有事件广播频道的地方。channels.php

storage :存储目录,该目录下包含您的编译blade模板,基于文件的会话,文件缓存和框架生成其他的文件,这个目录,分成app, framework,logs,该app目录可能用于存储应用程序生成的任何文件.该framework目录用于存储框架生成的文件和缓存.log目录包含应用程序的日志文件.该目录可以用于存储用户生成的文件,例如公开访问的简档头像.您可以创建一个符号链接指向此目录的点,storage/app/publicpublic/storagephp artisan storage:link

tests:包含您的测试文件.每个测试类应该用Test这个单词作为后缀.用phpunit或者命令运行测试 php vendor/bin/phpunit

ventor:供应商目录,包含您的Composer依赖项.

您的大部分应用程序都放在app目录中。默认情况下,该目录的命名空间App是由Composer使用PSR-4自动加载标准自动加载的

app目录包含了多种额外的目录,如ConsoleHttpProviders目录ConsoleHttp目录视为将API提供到应用程序的核心。HTTP协议和CLI都是与应用程序交互的机制,但实际上并不包含应用程序逻辑。换句话说,它们只是向应用程序发出命令的两种方法。Console目录包含所有的Artisan命令,而该Http目录包含您的控制器,中间件和请求。

app当您使用makeArtisan命令生成类时,将在目录中生成各种其他目录所以,例如,在执行Artisan命令生成作业类之前,该目录将不存在app/Jobsmake:job

app目录中的许多类可以由artisan通过命令生成.药查看可用的命令,php artisan list make 在终端中运行该命令

控制台目录包含您的应用程序的所有定制artisan命令,可以使用命令生成这些命令.该目录还包含您的控制台内核,这是您的定制artisan命令注册的地方,并且定义了您的计划任务.

http: 包含您的控制器,中间件和表单请求.几乎处理进入应用程序的请求的所有逻辑都将放在此目录中.

工作目录 ,默认是不存在的,执行artisan命令后,则创建,该目录包含应用程序的可排队作业.作业可能会被你的应用排队或在当前请求生命周期内同运行.在当前请求期间同步运行的作业有时会被称为"命令",因为他们是命令模式实现的.

通知目录:执行artisan后生成.包含应用程序发送的所有''事务性"通知.laravel的通知功能摘要通过各种驱动程序(如电子邮件,slack,sms)发送通知或存储在数据库中.

政策目录

默认情况下,此目录不存在,但是如果执行Artisan命令,则将为您创建此目录目录包含您的应用程序的授权策略类。策略用于确定用户是否可以针对资源执行给定的操作。有关更多信息,请查看授权文档make:policyPolicies

供应商目录

Providers目录包含您的应用程序的所有服务提供程序。服务提供商通过在服务容器中绑定服务,注册事件或执行任何其他任务来准备应用程序来引导您的应用程序。

在一个新的Laravel应用程序中,此目录将包含几个提供程序。您可以根据需要自由添加自己的提供者到这个目录。

规则目录

默认情况下,此目录不存在,但是如果执行Artisan命令,则将为您创建此目录目录包含应用程序的自定义验证规则对象。规则用于将复杂的验证逻辑封装在一个简单的对象中。有关更多信息,请查看验证文档make:ruleRules


原创粉丝点击