Laravel TestTools 是一个很棒且简单好用的 Chrome 扩展。你可以在 Chrome 上安装这个扩展,然后只要在扩展中点击「record」按钮就可以记录你在站点里所有的点击过程,从而生成浏览器测试脚本。 在本教程中,你将会看到它是多么容易上手。 下载 Chrome 扩展 首先,你需要先去 Chrome 商店安装此扩展 点击此处下载安装. 创建一个 Laravel 应用 使用以下命令创建一个新的 Laravel 应用 上面的命令将会创建一个名为 testtools 的目…
Laravel TestTools 是一个很棒且简单好用的 Chrome 扩展。你可以在 Chrome 上安装这个扩展,然后只要在扩展中点击「record」按钮就可以记录你在站点里所有的点击过程,从而生成浏览器测试脚本。 在本教程中,你将会看到它是多么容易上手。 下载 Chrome 扩展 首先,你需要先去 Chrome 商店安装此扩展 点击此处下载安装. 创建一个 Laravel 应用 使用以下命令创建一个新的 Laravel 应用 上面的命令将会创建一个名为 testtools 的目…
Wink 是一个可以运行在任何新的或者现有的 Laravel 项目上的免费的开源发布平台。它拥有一个干净、高效的后台管理面板,并且为创建内容提供了一个熟悉的 WYSIWYG 编辑器。虽然如此,不过内容如何显示还是完全取决于你。Wink 既兼顾到了 Medium 发布平台的简单性,也可以使用您自己定制的网站控件和自定义选项。 Wink 是作为一个 Laravel 的包来安装的,并且默认使用它自己的数据库链接和验证系统,所以它也可以被添加到现有的项目中去,而不需要修改现有的项目。…
当用JavaScript来工作的时候,我们需要处理很多的条件判断,这里有五个小技巧能帮助你写出更好/更清晰的条件语句。 1. 多重判断中使用Array.includes 我们看下下面这个例子: 乍一看,上面的例子看起来还可以哦。但是,如果添加更多的红色的水果,比如cherry和cranberries,那会怎样呢?你会使用更多的||来扩展条件语句吗? 我们可以通过Array.includes(Array.includes)来重写上面的条件语句。如下: 我们提取red fruits(条件判断)到一个数组中。通过这样做,…
闭包是一个可以访问外部作用域的内部函数,即使这个外部作用域已经执行结束。 作用域 作用域决定这个变量的生命周期及其可见性。 当我们创建了一个函数或者 {} 块,就会生成一个新的作用域。需要注意的是,通过 var 创建的变量只有函数作用域,而通过 let 和 const 创建的变量既有函数作用域,也有块作用域。 嵌套作用域 在 Javascript 中函数里面可以嵌套函数,如下: log() 即是一个嵌套在 autorun() 函数里面的函数。在 log() 函数里面可以通过外部函数访问到变量 x。此时,log() …
TDD 以及敏捷开发的先驱者之一的 James Grenning有句名言: 如果你没有进行测试驱动开发,那么你应该正在做开发后堵漏的事 - James Grenning 今天我们将进行一场基于 Laravel 的测试驱动开发之旅。 我们将创建一个完整的 Laravel REST API,其中包含身份验证和 CRUD 功能,而无需打开 Postman 或浏览器。? 注意:本旅程假定你已经理解了 Laravel 和 PHPUnit 的基本概念。你是否已经明晰了…
推荐理由:JavaScript 已经成为了当今使用最为广泛、最受欢迎的语言之一,掌握一些使用技巧不仅可以提高开发效率,更有利于思维转换。 过去的一年, JavaScript 在持续变化着,其使用范围也越来越广。接下来,我将针对 JavaScript 的使用,列出 9 条 建议,以帮助你写出更加整洁高效的代码,成为更好的开发者。 1. async/await JavaScript 极速发展的今天,回调地狱所产生的问题已不复存在。实际开发过程中我们应当尽量避免使用回调函数,除非为了遵守代码库规则或是维护性能。而解决回调…
Laravel 是一个功能丰富的框架。但是,你无法从官方文档中找到所有可用的功能。以下是一些你可能不知道的功能。 1.获取原始属性 当修改一条 Eloquent 模型记录的时候你可以通过调用 getOriginal() 方法获取记录的原始属性 2. 检查模型是否被修改 使用 isDirty() 方法确定模型或给定属性是否已被修改 也可以检查指定属性是否被修改。 3. 获取更改的属性 使用 getChanges() 获取更改的属性 注:仅…
Eloquent ORM 看起来是一个简单的机制,但是在底层,有很多半隐藏的函数和鲜为人知的方式来实现更多功能。在这篇文章中,我将演示几个小技巧。 1. 递增和递减 要代替以下实现: 你可以这样做: 以下这些方法也可以实现: 2. 先执行 X 方法,X 方法执行不成功则执行 Y 方法 Eloquent 有相当一部分函数可以把两个方法结合在一起使用, 例如 『 请先执行 X 方法, X 方法执行不成功则执行 Y 方法 』。 实例 1 -- findOrFail(): 要替代以下代码的实现: 你可以…
内存管理的主要目标是在需要的时候为系统动态地分配内存,然后释放那些不再使用的对象的内存。像 C 和 C++ 这样的语言有基本的内存分配函数,如 malloc(),而一些高级语言计算机体系结构(如 JavaScript)包含垃圾回收器来完成这项工作。它跟踪内存分配并识别这些分配的内存是否不再使用,如果是就自动释放。但是这种算法不能完全决定内存是否仍被需要。因此,对于程序员来说,理解并决定一段特定的代码是否需要内存是非常重要的。让我们了解一下 JavaScript 中的垃圾收集是如何工作的: 垃圾回收 JavaScri…
我们将会学习使用 Laravel 的 Passport API OAuth 来创建一个验证系统。 第一步. 安装 Laravel 我们需要用以下命令来创建一个最新的 Laravel 应用,所以请打开终端执行: 第二步. 安装 Laravel Passport 包 Laravel Passport 可以在几分钟内为你的应用实现一个完整的 OAuth2 服务器。 第三步. 运行数据库迁移 Passport 的迁移会创建你的应用用来存储客户端和 Access Token 的表。 第四步. 生成秘钥 此…