[ Laravel从入门到精通 ] 测试系列 —— 在 Laravel 中基于 Dusk 实现浏览器自动化测试快速入门

简介 我们前面介绍的单元测试和功能测试都是基于 PHPUnit 的,PHPUnit 作为一个 PHP 测试框架功能很强大,但是只能用于测试后端接口和功能,无法模拟浏览器端行为测试基于 JavaScript 的前端应用。 为此,Laravel 为浏览器测试提供了一个官方扩展包 —— Laravel Dusk,该特性是在 Laravel 5.4 引入的,之前版本使用的是 Symfony Br...

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

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

[ Laravel 5.8 文档 ] 前端开发 —— Blade 模板引擎

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

[ Laravel 5.8 文档 ] 基础组件 —— 表单验证

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

基于 Laravel 5.7 开发博客应用系列(八) —— 博客前台联系我们 & 邮件发送功能实现

本节我们将会添加联系我们功能到博客应用,要实现该功能我们需要了解 Laravel 的邮件发送功能以及队列处理机制。 1、邮件发送设置 为了使用 Laravel 的邮件发送功能,首先需要配置邮件发送,配置很简单,打开 .env 文件,查看邮件配置部分: MAIL_DRIVER=smtp MAIL_HOST=smtp.mailtrap.io MAIL_PORT=2525 MAIL_USERN...

[ Laravel 从入门到精通 ] 用户认证与授权系列 —— 基于多表的用户认证功能实现(前后台用户)

Laravel 支持基于多表的用户认证,即同时允许不同数据表用户(如前台用户、后台用户)进行登录认证。下面我们就以前后台用户登录认证为例,简单介绍基于不同数据表实现用户注册及登录功能。 1、生成认证脚手架 关于这一块内容我们已经在通过内置脚手架快速实现用户认证这篇教程中详细讨论过,如果你对此不了解,可以去查看对应内容,如果已经看过,请跳过此步骤。 2、实现前台用户登录 我们用框架自带的 ...

基于 Laravel 5.7 开发博客应用系列(六) —— 在后台实现文章增删改查功能(支持Markdown)

本节我们将会完成博客后台管理系统的文章发布功能:我们将会继续完善 posts 表迁移、引入一些额外前端资源、并实现文章创建、修改和删除。 1、修改 posts 表 我们在十分钟创建博客应用中已经创建了 posts 表迁移,现在要对其进行修改和完善。 安装 Doctrine 依赖包 在 Laravel 中如果需要修改数据表的列,则需要安装 Doctrine 依赖包,我们使用 Compose...

基于 Laravel 5.7 开发博客应用系列(四) —— 在后台实现文章标签增删改查功能

我们在十分钟开发博客项目一节开发的博客应用只是一个基本的博客系统,还有许多地方需要进一步完善。对大多数博客平台而言,例如 Wordpress,都可以给博客文章添加分类或标签,本节我们就来为博客文章添加标签功能。 1、创建标签模型和迁移 首先需要创建 Tag 模型类: php artisan make:model Models/Tag --migration 该命令会在 app/Model...

[ Laravel 从入门到精通 ] 处理用户请求:通过匿名函数和验证规则类自定义字段验证规则

Laravel 验证器的强大之处不仅在于提供上述多种请求验证方式,以及非常丰富的字段验证规则(不同规则可以组合形成新的验证规则),还支持自定义字段验证规则。我们可以通过匿名函数和验证规则类两种方式来自定义验证规则。 通过匿名函数实现自定义规则 我们先演示下如何在控制器方法中调用 $this->validate() 时自定义验证规则,以 title 字段为例,除了系统提供的字段验证规则之外...

[ Laravel 从入门到精通 ] 处理用户请求:通过表单请求类实现请求字段验证和错误提示

在上一篇教程中,我们已经演示了如何在控制器方法中对表单请求字段进行验证,并且提到如果请求字段很多很复杂,都写到控制器方法里面会导致控制器臃肿,从单一职责原则来说需要将表单请求验证拆分出去,然后通过类型提示的方式注入到控制器方法。今天,我们就来实现这个拆分,Laravel 提供了表单请求类的功能帮助我们快速完成这一架构调整。 定义表单请求类 首先,我们需要需要创建一个表单请求类,这可以通过...