基于 Apiato 在 Laravel 5.6 中快速构建可扩展易测试的、API 驱动的应用

简介 Apiato 是一个基于 Laravel 5.6 的框架(5.5也支持),通过提供一系列适用于 API 开发的工具和函数,可以帮助我们快速构建可扩展、易测试、以 API 为中心的现代 PHP 应用。 从头开始开发一套 API 的所有功能总是件很费时间的事,为此,Apiato 为我们提供了应用 API 开发所需的基础组件,我们只需专注业务逻辑开发即可,从而更快地将 API 接口交付给…

通过 Laravel Chatter 扩展包在十分钟内快速为应用搭建问答/论坛系统

简介 Chatter 是一个简单的 Laravel 论坛扩展包,你可以在这里查看官方演示站点:https://devdojo.com/forums,代码仓库位于 GitHub:https://github.com/thedevdojo/chatter。 安装 & 初始化 通过 Composer 安装 Chatter: composer require “devdojo/chatt…

[Laravel 5.6 文档] 官方扩展包 —— 第三方登录解决方案:Laravel Socialite

简介 除了传统的基于表单的登录认证外,Laravel 还可以通过 Laravel Socialite 提供 OAuth 认证,目前支持的认证驱动包括 Facebook、Twitter、Google、LinkedIn、GitHub 和 Bitbucket。 注:其他平台的驱动可以在社区驱的 Socialite 提供者网站上找到。 安装 要使用 Socialite,首先需要通过 Compos…

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

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

[ Laravel 5.6 文档 ] 官方扩展包 —— 队列系统解决方案:Laravel Horizon

简介 Horizon 为 Laravel 提供了基于 Redis 的、拥有美观后台的、代码驱动配置的队列系统。Horizon 让我们可以轻松监控队列系统的关键指标,例如任务吞吐量、运行时间和失败任务等。 所有的队列进程配置都存放在一个单独的简单配置文件中,这样的话配置文件就可以存放到源码控制以便团队所有成员的协作。 安装 注:由于 Horizon 使用了异步进程信号,所以 PHP 7.1…

[ Laravel 5.6 文档 ] 官方扩展包 —— 远程操作解决方案:Envoy Task Runner

简介 Laravel Envoy 为定义运行在远程主机上的通用任务提供了一套干净的、最简化的语法。使用 Blade 风格语法,你可以轻松为开发设置任务,Artisan命令,以及更多。目前,Envoy 只支持 Mac 和 Linux 操作系统。 安装 首先,使用 Composer 的 global require 命令全局安装 Envoy: composer global require …

[ Laravel 5.6 文档 ] 官方扩展包 —— 订阅支付解决方案:Laravel Cashier

简介 Laravel Cashier 为通过 Stripe 和 Braintree 实现订阅支付服务提供了一个优雅的流式接口。它封装了几乎所有你恐惧编写的样板化的订阅支付代码。除了基本的订阅管理外,Cashier 还支持处理优惠券、订阅升级/替换、订阅“数量”、取消宽限期,甚至生成 PDF 发票。 注:如果你只需要一次性支付,并不提供订阅,就不应该使用 Cashier,而是直接使用 St…

[ Laravel 5.6 文档 ] 测试系列 —— 模拟

简介 测试 Laravel 应用的时候,你可能还想要“ 模拟 ”应用的特定状态,以便在测试中不让它们真的执行。例如,测试触发事件的控制器时,你可能想要模拟事件监听器以便它们不在测试期间真的执行。这样的话你就可以只测试控制器的 HTTP 响应,而不必担心事件监听器的执行,因为事件监听器可以在它们自己的测试用例中被测试。 Laravel 开箱为模拟事件、任务以及门面提供了辅助函数,这些辅助函…

[ Laravel 5.6 文档 ] 测试系列 —— 数据库测试

简介 Laravel 提供了多个有用的工具让测试数据库驱动的应用变得更加简单。首先,你可以使用辅助函数 assertDatabaseHas 来断言数据库中的数据是否和给定数据集合匹配。例如,如果你想要通过 email 值为 xueyuanjun@laravelacademy.org 的条件去数据表 users 查询是否存在该记录 ,我们可以这样做: public function tes…

[ Laravel 5.6 文档 ] 测试系列 —— 浏览器测试

简介 Laravel Dusk 提供了优雅的、易于使用的浏览器自动测试 API。默认情况下,Dusk 不强制你在机器上安装 JDK 或 Selenium,取而代之地,Dusk 基于独立安装的 ChromeDriver。不过,你可以使用任意其他兼容 Selenium 的驱动。 注:Selenium 是一套 Web 应用自动化测试系统,运行 Selenium 测试就像你在浏览器中操作一样;W…