学院君 has written 619 articles

资深PHP工程师,Laravel学院院长

[ Laravel 5.4 文档 ] 测试 —— 模拟

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

[ Laravel 5.4 文档 ] 测试 —— 数据库

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

[ Laravel 5.4 文档 ] 测试 —— 浏览器测试(Laravel Dusk)

1、简介 Laravel Dusk 提供了优雅的、易于使用的浏览器自动测试 API。默认情况下,Dusk 不强制你在机器上安装 JDK 或 Selenium,取而代之地,Dusk 基于独立安装的 ChromeDriver。不过,你可以使用任意其他兼容 Selenium 的驱动。 2、安装 开始之前,需要添加 Composer 依赖 laravel/dusk 到项目: composer r…

[ Laravel 5.4 文档 ] 测试 —— HTTP 测试

1、简介 Laravel 为生成 HTTP 请求、测试输出提供了流式 API。举个例子,我们看下下面定义的测试: <?php namespace Tests\Feature; use Tests\TestCase; use Illuminate\Foundation\Testing\WithoutMiddleware; use Illuminate\Foundation\Testi…

[ Laravel 5.4 文档 ] 测试 —— 快速入门

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

[ Laravel 5.4 文档 ] Eloquent ORM —— 序列化

1、简介 当构建 JSON API 时,经常需要转化模型和关联关系为数组或 JSON。Eloquent 提供了便捷方法以便实现这些转换,以及控制哪些属性被包含到序列化中。 2、序列化模型 & 集合 序列化为数组 要转化模型及其加载的关联关系为数组,可以使用 toArray 方法。这个方法是递归的,所以所有属性及其关联对象属性(包括关联的关联)都会被转化为数组: $user = A…

[ Laravel 5.4 文档 ] Eloquent ORM —— 访问器 & 修改器

1、简介 访问器和修改器允许你在获取模型属性或设置其值时格式化 Eloquent 属性。例如,你可能想要使用 Laravel 加密器对存储在数据库中的数据进行加密,并且在 Eloquent 模型中访问时自动进行解密。 除了自定义访问器和修改器,Eloquent 还可以自动转换日期字段为 Carbon 实例甚至将文本转换为JSON。 2、访问器 & 修改器 定义访问器 要定义一个访…

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

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

[ Laravel 5.4 文档 ] Eloquent ORM —— 关联关系

1、简介 数据表经常要与其它表做关联,比如一篇博客文章可能有很多评论,或者一个订单会被关联到下单用户,Eloquent 使得组织和处理这些关联关系变得简单,并且支持多种不同类型的关联关系: 一对一 一对多 多对多 远层一对多 多态关联 多对多的多态关联 2、定义关联关系 Eloquent 关联关系以 Eloquent 模型类方法的方式定义。和 Eloquent 模型本身一样,关联关系也是…

[ Laravel 5.4 文档 ] Eloquent ORM —— 快速入门

1、简介 Laravel 内置的 Eloquent ORM 提供了一个美观、简单的与数据库打交道的 ActiveRecord 实现,每张数据表都对应一个与该表进行交互的“模型”,模型允许你在表中进行数据查询,以及插入、更新、删除等操作。 在开始之前,确保在 config/database.php 文件中配置好了数据库连接。更多关于数据库配置的信息,请查看文档。 2、定义模型 我们从创建一…