【Laravel5.2翻译】应用结构

2016-08-24  本文已影响24人  Bill_Wang

前阵子看了点Laravel源码,越看越乱,网上大部分中文文档都是直译,比较生涩难懂,还是决定看英文文档顺便就我的理解做下翻译整理记录下来

思维导图

简介

默认的Laravel应用程序结构致力于同时为大小应用提供理想的起点。当然,你可以自由根据你的喜好组织自己的应用。Laravel几乎没有限制类的存放位置--只要Composer可以自动加载到。

根目录

新装Laravel的根目录包含多个目录:

App目录

应用的核心代码都位于app目录。默认情况下,这个目录的在App命名空间下同时被Composer用PSR-4自动加载标准自动加载。
app目录装载着多个二级目录例如ConsoleHttpProvidersConsoleHttp为你的应用核心提供了一个API。HTTP协议和CLI都可以实现和应用交互,但不含实际逻辑。也就是说,他们只是给应用程序发放命令的2个途径。Console目录包含了你所有的Artisan命令,Http目录包含controllers、middleware和requests。

Events目录,放置着事件类。Events用来通知你,你应用程序的其他部分发生了给定动作,这为我们编码大大增加了灵活性便于解耦。

Exception目录包含你应用的异常处理,是一个处理任何你应用抛出异常的好地方。

Jobs目录包含应用的可队列化工作,这些工作会被应用程序队列化或者在当前请求生命周期内异步运行。

Listeners目录包含事件的处理类。处理器接收到事件然后在response中对事件执行逻辑。例如,UserRegistered事件可能就会用SendWelcomeEmail监听来处理。

Policies目录包含应用的授权政策类。Policies用来确定用户是否可以对资源执行给定动作。

注意:许多在app目录下的类可以用Artisan通过命令行来生成。在终端中运行php artisan list make命令可以查看可用命令。

上一篇 下一篇

猜你喜欢

热点阅读