[ Lumen 5.1 文档 ] 更多特性 —— 队列

1、简介 Lumen队列服务为各种不同的后台队列提供了统一的API。队列允许你推迟耗时任务(例如发送邮件)的执行,从而大幅提高web请求速度。 1.1 配置 .env文件的QUEUE_DRIVER选项决定应用使用的队列“驱动”。 1.2 队列驱动预备知识 数据库 为了使用database队列驱动,需要一张数据库表来存放任务,要生成创建该表的迁移,运行Artisan命令qu...

[ Lumen 5.1 文档 ] 更多特性 —— 事件

1、简介 Lumen事件提供了简单的观察者模式实现,允许你订阅和监听应用中的事件。事件类通常存放在app/Events目录,监听器存放在app/Listeners。 2、注册事件/监听器 Lumen自带的EventServiceProvider为事件注册提供了方便之所。其中的listen属性包含了事件(键)和对应监听器(值)数组。如果应用需要,你可以添加多个事件到该数组。例如,让我...

[ Lumen 5.1 文档 ] 更多特性 —— 错误&日志

1、简介 开始一个新的Lumen项目的时候,错误和异常处理已经默认为你配置好了。此外,Lumen还集成了提供各种功能强大日志处理器的Monolog日志库。 2、配置 2.1 错误详情 配置文件.env中的APP_DEBUG配置选项控制浏览器显示的错误详情数量。 对本地开发而言,你应该设置环境变量APP_DEBUG值为true。在生产环境,该值应该被设置为false。 3、...

[ Lumen 5.1 文档 ] 更多特性 —— 加密

1、配置 在使用Lumen的加密器之前,应该在bootstrap/app.php文件中设置APP_KEY选项为32位随机字符串。如果这个值没有被设置,所有Lumen加密过的值都是不安全的。 2、基本使用 2.1 加密 你可以使用Crypt门面对数据进行加密,所有加密值都使用OpenSSL和AES-256-CBC密码进行加密。此外,所有加密值都通过一个消息认证码(MAC)来检测对加...

[ Lumen 5.1 文档 ] 更多特性 —— 数据库

1、配置 在Lumen中连接数据库和运行查询都非常简单,目前Lumen支持四种数据库系统:MySQL、Postgres、SQLite和SQL Server。 你可以在配置文件.env中使用配置选项DB_*来配置数据库设置,例如驱动、主机、用户名和密码。 注意:为了让配置值被加载,你需要取消bootstrap/app.php文件中Dotenv::load()调用前的注释。 2、...

[ Lumen 5.1 文档 ] 更多特性 —— 缓存

1、配置 Lumen为不同的缓存系统提供了统一的API。缓存配置项位于env文件。在该文件中你可以指定在应用中默认使用哪个缓存驱动。Lumen目前支持流行的缓存后端如Memcached和Redis等。对于大型应用,推荐使用内存缓存如Memcached或APC。 1.1 缓存预备知识 数据库 使用database缓存驱动时,你需要设置一张表包含缓存缓存项。下面是该表的Schem...

[ Lumen 5.1 文档 ] 基础 —— HTTP 响应

1、基本响应 所有路由和控制器都会返回某种被发送到用户浏览器的响应,Lumen提供了多种不同的方式来返回响应,最基本的响应就是从路由或控制器返回一个简单的字符串: $app->get('/', function () { return 'Hello World'; }); 给定的字符串会被框架自动转化为HTTP响应。 但是大多数路由和控制器动作都会返回一个完...

[ Lumen 5.1 文档 ] 基础 —— HTTP 请求

1、访问请求 通过依赖注入获取当前HTTP请求实例,应该在控制器的构造函数或方法中对Illuminate\Http\Request类进行类型提示,当前请求实例会被服务容器自动注入: <?php namespace App\Http\Controllers; use Illuminate\Http\Request; use Illuminate\Routing\Co...

[ Lumen 5.1 文档 ] 基础 —— HTTP 控制器

1、简介 将所有的请求处理逻辑都放在单个routes.php中肯定是不合理的,你也许还希望使用控制器类组织管理这些行为。控制器可以将相关的HTTP请求封装到一个类中进行处理。通常控制器存放在app/Http/Controllers目录中。 2、基本控制器 下面是一个基本控制器类的例子。所有的Lumen控制器应该继承自Lumen安装默认的基本控制器: <?php nam...