基于高性能算法实现的优雅 ID 混淆扩展包 —— Laravel Hashid

Laravel Hashid 整合了 Base62、Base64、Hashids、Hex、Optimus 等高性能编码算法,并提供了统一的、优雅的、简单易用的调用接口,将「敏感数据」混淆(编码)成可还原的、非连续的、URL 安全的标识符 (ID) 。 应用场景示例 不希望对外暴露有规则的数据索引,比如用户 ID 、媒体资源 ID 、商品 ID 、订单号、注册码、优惠码等,防止爬虫侵扰。 …

[ Laravel 5.5 文档 ] 处理用户请求 —— 请求表单验证及错误处理大全

 简介 Laravel 提供了多种方法来验证请求输入数据。默认情况下,Laravel 的控制器基类使用 ValidatesRequests trait,该 trait 提供了便捷方法通过各种功能强大的验证规则来验证输入的 HTTP 请求。 快速入门 要掌握 Laravel 强大的验证特性,让我们先看一个完整的验证表单并返回错误信息给用户的示例。 定义路由 首先,我们假定在 routes…

[ Laravel 5.5 文档 ] 处理用户请求 —— Session 实现、配置与使用详解

简介 由于 HTTP 协议本身是无状态的,上一个请求与下一个请求无任何关联,为此我们引入 Session 来存储用户请求信息以解决特定场景下无状态导致的问题(比如登录、购物)。Laravel 通过简洁的 API 统一处理后端各种 Session 驱动,目前开箱支持的流行后端驱动包括 Memcached、Redis 和数据库。 学院君注:Laravel 并没有使用 PHP 内置的 Sess…

[ Laravel 5.5 文档 ] 处理用户请求 —— Laravel 视图渲染:Blade 模板引擎

Blade 简介 Blade 是由 Laravel 提供的非常简单但功能强大的模板引擎,不同于其他流行的 PHP 模板引擎,Blade 在视图中并不约束你使用 PHP 原生代码。所有的 Blade 视图最终都会被编译成原生 PHP 代码并缓存起来直到被修改,这意味着对应用的性能而言 Blade 基本上是零开销。Blade 视图文件使用 .blade.php 文件扩展并存放在 resour…

[ Laravel 5.5 文档 ] 快速入门 —— 轻量级开发环境:Valet 安装使用详细教程

 简介 Valet 是为 Mac 打造的极简开发环境,没有Vagrant,没有虚拟机,也无需配置 /etc/hosts 文件,还可以使用本地隧道公开分享你的站点。 启动 Mac 后,Laravel Valet 会在后台静默运行 Nginx,然后通过 DnsMasq,Valet 会代理所有针对 *.dev 域名的请求指向本地安装的站点目录。 此外,这样一个极速的 Laravel 开发环境…

最佳实践系列(十):PHP 统一资源处理 API —— 流(Stream)的概述与使用详解

在现代 PHP 特性中,流或许是最出色但使用率最低的。虽然 PHP 4.3 就引入了流,但是很多开发者并不知道流的存在,因为人们很少提及流,而且流的文档也很匮乏。PHP 官方文档对流的解释如下: 流的作用是提供统一的公共函数来处理文件、网络和数据压缩等操作。简单而言,流是具有流式行为的资源对象,也就是说,流可以线性读写,并且可以通过 fseek() 之类的函数定位到流中的任何位置。 可能…

[ Laravel 5.3 文档 ] Eloquent ORM —— 集合

1、简介 Eloquent 返回的所有的包含多条记录的结果集都是 Illuminate\Database\Eloquent\Collection 对象的实例,包括通过 get 方法或者通过访问关联关系获取的结果。Eloquent 集合对象继承自 Laravel 的集合基类,因此很自然的继承了很多处理 Eloquent 模型底层数组的方法。 当然,所有集合也是迭代器,允许你像PHP数组一样…

[ Laravel 5.3 文档 ] 数据库 —— 分页

1、简介 在其他框架中,分页是件非常痛苦的事,Laravel的分页器集成了查询构建器和Eloquent ORM,并且开箱提供了方便的、易于使用的、基于数据库结果集的分页。分页器生成的HTML兼容Bootstrap CSS 框架。 2、基本使用 基于查询构建器进行分页 有多种方式实现分页,最简单的方式就是使用查询构建器或Eloquent模型的paginate方法。该方法基于当前用户查看页自…

[ Laravel 5.3 文档 ] 综合话题 —— 通知

1、简介  除了支持发送邮件之外,Laravel还支持通过多种传输通道发送通知,这些通道包括邮件、短信(通过Nexmo)以及等Slack等。通知可以存储在数据库以便后续在web界面中显示。 通常,通知都是很短的、用于告知用户应用中所发生事件的消息。例如,如果你在开发一个计费应用,则需要通过邮件或短信等渠道给用户发送“账单支付”通知。 2、创建通知 在Laravel中,每个通知都以单独类的…

[ Laravel 5.3 文档 ] 综合话题 —— 缓存

1、配置 Laravel 为不同的缓存系统提供了统一的 API。缓存配置位于 config/cache.php。在该文件中你可以指定在应用中默认使用哪个缓存驱动。Laravel 目前支持主流的缓存后端如 Memcached 和 Redis 等。 缓存配置文件还包含其他文档化的选项,确保仔细阅读这些选项。默认情况下,Laravel 被配置成使用文件缓存,这会将序列化数据和缓存对象存储到文件…