学院君 has written 848 articles

终身学习者,Laravel学院院长

[ Laravel 5.5 文档 ] 测试系列 —— 模拟:通过伪造事件、邮件、通知、队列、文件存储等服务简化测试

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

[ Laravel 5.5 文档 ] 测试系列 —— 数据库测试:模型工厂生成及使用

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

[ Laravel 5.5 文档 ] 测试系列 —— 浏览器测试:使用 Laravel Dusk 进行浏览器测试

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

由浅入深:基于 Laravel Broadcast 实现 WebSocket C/S 实时通信

Laravel 集成众多开包即用的功能, 虽然它真的很”胖”, 但这并不影响它是个好框架。本篇文章将采用 Laravel 5.6 版本由浅入深为大家演示: 如何使用内置的 Broadcast(广播)功能实现与客户端实时通信。 0x00 准备 广播系统 用户认证 事件系统 队列系统 前端指南 tlaverdure/laravel-echo-server 没错,这是你…

[ Laravel 5.5 文档 ] 测试系列 —— HTTP 测试:如何测试 HTTP 请求和响应

简介 Laravel 为生成 HTTP 请求、测试输出提供了流式 API。举个例子,我们 Laravel 提供的测试示例: <?php namespace Tests\Feature; use Tests\TestCase; use Illuminate\Foundation\Testing\RefreshDatabase; class ExampleTest extends Te…

[ Laravel 5.5 文档 ] 测试系列 —— 快速入门:集成 PHPUnit 编写测试用例

简介 Laravel 植根于测试,实际上,内置使 PHPUnit 对测试提供支持是开箱即用的,并且 phpunit.xml 文件已经为应用设置好了。框架还提供了方便的辅助方法允许你对应用进行优雅的测试。 默认情况下,tests 目录包含了两个子目录:Feature 和 Unit,分别用于功能测试和单元测试,单元测试专注于小的、相互隔离的代码,实际上,大部分单元测试可能都是聚焦于单个方法。…

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

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

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

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

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

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

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

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