[ Laravel 5.6 文档 ] 基础组件 —— Session

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

[ Laravel 5.6 文档 ] 基础组件 —— Blade 模板引擎

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

[ Laravel 5.6 文档 ] 快速入门 —— 轻量级开发环境:Valet

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

[ Laravel 5.5 文档 ] 官方扩展包 —— 全文搜索解决方案:Laravel Scout

简介 Laravel Scout 为 Eloquent 模型全文搜索实现提供了简单的、基于驱动的解决方案。通过使用模型观察者,Scout 会自动同步更新模型记录的索引。 目前,Scout 通过 Algolia 驱动提供搜索功能,不过,编写自定义驱动很简单,你可以很轻松地通过自己的搜索实现来扩展 Scout。 注:Algolia 是一个托管式的全文搜索引擎,我们可以通过其提供的 API 在…

[ Laravel 5.5 文档 ] 进阶系列 —— Laravel 自定义扩展包的开发和使用

简介 扩展包是添加额外功能到 Laravel 的主要方式。扩展包可以提供任何功能,小到处理日期如 Carbon,大到整个 BDD 测试框架如 Behat。 当然,有很多不同类型的扩展包。有些扩展包是独立于 Laravel 的,意味着可以在任何框架中使用,而不仅是 Laravel。比如 Carbon 和 Behat 都是独立的扩展包。所有这些扩展包都可以通过在 composer.json …

[ Laravel 5.5 文档 ] 进阶系列 —— 在 Laravel 中使用多种通道实现通知发送

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

[ Laravel 5.5 文档 ] 进阶系列 —— 集成 Flysystem 实现对文件系统的高级操作

简介 Laravel 基于 Frank de Jonge 开发的 PHP 包 Flysystem 提供了强大的文件系统抽象层。Laravel 集成 Flysystem 以便使用不同驱动简化对文件系统的操作,这些驱动包括本地文件系统、Amazon S3 以及 Rackspace 云存储。此外,在这些存储选项之间切换非常简单,因为对不同系统而言,API 是一致的。 配置 文件系统配置文件位于…

[ Laravel 5.5 文档 ] 进阶系列 —— 通过缓存构建高性能 Laravel 应用

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

基于高性能算法实现的优雅 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…