Laravel 开发团队昨天发布了 v6.10 版本,本次版本发布包含 11 个新特性以及大量的问题修复、功能废弃和代码优化,另外,还引入了对 PHPUnit 9 的支持。...第一部分:重要新特性介绍 下面,我们一起来看下几个重要的新特性: Laravel Mix 测试辅助函数 在新版本中,可以通过 withoutMix() 和 withMix() 测试辅助函数启用或禁用异常处理...第二部分:更新日志速览 新增特性 新增 withoutMix() 和 withMix() 测试辅助函数 新增 validateWithBag() 宏方法到 Request 类 新增对 PHPUnit 9...从容器中解析 Faker\Generator 问题修复 修复 Blueprint 中 float 数据库字段类型 修复依赖 getenv() 的代码 防止在重连时进行实际的 PDO 连接 修复针对嵌套数据的...exclude_if/exclude_unless 验证规则 将 dev-master 分支别名从 6.0-dev 修改为 6.x-dev 使用 Symfony 的 PSR 工厂修复 #31027 在数据库验证器中默认使用模型连接
让我们开始我们的第一个模型和Migrations - 文章。该文章应该有一个标题和一个正文字段,以及创建日期。...它现在不节省大量的时间,但随着项目的增长,它有助于保持路由DRY。 测试我们的端点 Laravel包含通过phpunit.xml已经设置的PHPUnit开箱即用的集成。...您可以使用许多外部工具来测试您的API; 然而,Laravel内部的测试是一个更好的选择 - 我们可以拥有测试API结构和结果的所有好处,同时保留对数据库的完全控制。...绝对有改进的空间 - 您可以使用Passport软件包实现OAuth2 ,集成分页和转换层(我推荐使用Fractal),但是我想通过在Laravel中创建和测试API的基础知识外部包装。...Laravel肯定提高了我对PHP的经验,并且易于使用测试巩固了我对该框架的兴趣。这不完美,但它足够灵活,可以让您解决问题。
如果你需要一些数据填充你的数据库、创建看起来像模像样的XML文档、写入持久化数据进行压力测试等等,就是使用Faker的时候。...GitHub Stars: 11k+ 网址:https://github.com/PHPMailer/PHPMailer 9、PHPUnit PHP Unit是PHP的单元测试框架。...可以使用laravel发布资产并进行配置。...,用于单元测试,支持PHPUnit、PHPSpec等测试框架。...你可以轻松地配置一个OAuth 2.0服务器来使用访问token保护你的API,或者允许客户端来请求新的访问token。
composer.json文件内容 laravel { "name": "laravel/laravel", //name表示包的名称,由作者名、项目名组成, //用'/'分割.../framework": "5.5.*", "laravel/tinker": "~1.0" }, "require-dev": { //表示开发或运行测试时的依赖包列表..."phpunit/phpunit": "~6.0", "symfony/thanks": "^1.0" }, "autoload": { //PHP自动加载的映射...,支持psr-4和psr-0自动加载,class映射和files引用。..."psr-4": { "Tests\\": "tests/" } }, "extra": { //表示scripts使用的任意扩展数据
说明:本文主要聊一聊Laravel测试数据填充器Seeder的小技巧,同时介绍下Laravel开发插件三件套,这三个插件挺好用哦。同时,会将开发过程中的一些截图和代码黏上去,提高阅读效率。...开发环境:Laravel5.2 + MAMP + PHP7 + MySQL5.5 开发插件三件套 在先聊测试数据填充器seeder之前,先装上开发插件三件套,开发神器。先不管这能干些啥,装上再说。...Laravel官方推荐使用模型工厂自动生成测试数据,推荐这么写的: //先输入指令生成database/seeds/CategoryTableSeeder.php文件: php artisan make...准备趁着端午节研究下Repository模式的测试,PHPUnit结合Mockery包来TDD测试也是一种不错的玩法。...分享下最近发现的一张好图和一篇极赞的文章: 文章链接:Laravel的中大型專案架構
在 Laravel 框架中,如果想要快速填充测试数据到数据库,可以借助框架提供的填充器功能,通过填充器,我们可以非常方便地为不同数据表快速填充测试数据。...现在,我们先抛开测试不谈,赶紧来看下如何在 Laravel 中定义模型工厂。...,Faker 类库提供了丰富的字段规则帮助我们生成伪造字段值,这些规则可以在官方文档中查看,这里,我们使用 调用模型工厂 在调用这些模型工厂的时候,需要借助 Laravel 提供的全局辅助函数 factory...,最后再调用 create 方法让变更生效。...运行填充器的方式还是和填充器类中介绍的一样。
引言 本文主要讲述在PHPStorm编辑器中如何使用PHPStorm的Laravel插件和Laravel IDE Helper来开发Laravel程序,结合个人积累的一点经验来说明使用PHPStorm编辑器来开发程序还是很顺手的...对Blade模板引擎的支持 使用PHPStorm调试Laravel程序 使用PHPStorm调试Laravel程序 使用PHPStorm的单元测试功能 使用PHPStorm的数据库功能 1、一些准备工作...总的来说,PHPStorm对Blade模板的代码提示和补全还是支持的比较好的,使用很顺手。...4、使用PHPUnit单元测试Laravel程序 首先需要在本地安装下PHPUnit: wget https://phar.phpunit.de/phpunit.phar chmod +x phpunit.phar...写测试还是很有必要的,而且是必须的。PHPUnit写测试,以后还会详聊。
或许你还不知道,Laravel 内核早已继承了 PHPUnit 单元测试组件。PHPUnit 是 PHP 社区里使用最广泛、最受欢迎的测试框架之一。...PHPUnit 同时支持「单元测试」和「功能测试」两种特性。 我们会简单介绍 PHPUnit 「单元测试」和「功能测试」的基本使用方法。...不过本篇我们假定你已经对 PHPUnit 测试框架有了基本的了解,所以让我们把焦点放到 Laravel 中使用 PHPUnit 进行测试这个主题中。...这就是应该如何创建「功能测试」用例的秘密。接下来我们将创建具体的测试用例,来讲解如何在 Laravel 中使用「单元测试」和「功能测试」。...以上就是如何在 Laravel 中使用单元测试的使用方法。 功能测试 这一节我们将学习如何创建功能测试用例来对先前创建的控制器进行「功能测试」。
经过 PHP 入门到实战系列的基础学习,接下来我们就可以正式开始 Laravel 框架的学习和使用了。而这一切都需要从创建一个新的 Laravel 项目开始。...使用 Laravel 安装器安装 安装 Laravel 安装器很简单,在命令行执行以下命令即可(如果已经安装过,会自动进行更新): composer global require laravel/installer...laravel/laravel blog --prefer-dist 效果和上面使用安装器安装的一样,使用这个方式安装的一个好处是可以安装旧版本的 Laravel 项目,比如要安装 5.6 版本的项目...之于 PHP) phpunit.xml:PHPUnit 配置文件 server.php:用于通过 php artisan serve 启动 PHP 内置服务器进行一些简单的本地预览 yarn.lock...5、测试 Laravel 开箱提供了基于 PHPUnit 进行单元测试和功能测试的功能,并且为我们做好了基础配置(phpunit.xml)和示例代码(位于 tests 目录下),由于本节并没有编写任何代码
PHP 生态有很多测试框架,其中最流行的当属 PHPUnit,我们还是以 Laravel 项目为例,在 PhpStorm 中演示如何通过 PHPUnit 对 PHP 项目进行单元测试。...在 PhpStorm 中基于 PHPUnit 进行单元测试很简单,PhpStorm 已经内置了通过本地 PHPUnit 运行测试用例的支持(Laravel 项目初始化的时候已经安装了 phpunit 依赖...对于指定方法的测试也可以这么做: ? 测试成功,运行结果是绿色提示,测试失败,则是红色提示: ? 并且会标识出错的原因和位置,方便排查。...PHPUnit 的代码覆盖率分析使用了 PHP_CodeCoverage 这个组件,而这个组件又使用了 PHP Xdebug 扩展所提供的代码覆盖率功能,所以要使用代码覆盖率功能,需要先安装 Xdebug...这个代码编辑器,从而提高日常的编码、调试、测试效率,少加班,多涨薪,Code Happy!
本文内容主要围绕在 Laravel 5.5 中使用 API 开发的重要步骤,着重介绍如何利用 Laravel 的 API 资源(Resource)和控制器(Controller)进行多因素身份验证(MFA...这些步骤旨在建立一个基本的 Laravel 5.5 项目,并做了一些初始化设置,包括创建模型、资源类和控制器,并配置使用 SQLite 作为数据库。 2....这是在开发或测试阶段常用的操作,可以使用 Laravel 的 Seeder 来填充数据库表,确保数据库中有一些初始数据可用于开发和测试。 3....这样做有利于避免 N+1 查询问题(在获取关联数据时出现的效率问题),同时可以使用单个资源类处理不同的情况。如果关联数据不可用,资源类会忽略它;反之,如果可用,资源类会将其包含在返回的数据中。...对比 Fractal 和 Laravel 的资源本文提到 Fractal 在转换层(Transformer)提供了默认和可用的包含(includes)功能,但是 Laravel 的原生 API 资源更倾向于让控制器处理这个逻辑
说明:Laravel中经常使用PHP的反射特性来设计代码,本文主要学习PHP的反射特性,来提高写代码时的设计质量。...中只有一处使用了class_alias(),用来给config/app.php中$aliases[ ]注册别名,可看下Laravel5.3之bootstrap源码解析,看下Laravel中如何使用的:...,目前Laravel中还没用到这个函数,传入的可以是子类对象或者子类名,写个PHPUnit测试下: // namespace MyRightCapital\Container\Tests;...属性组成一个数组,类似于get_class_methods(),若属性没有默认值就为null,目前Laravel中还未使用,看下PHPUnit测试: public function testGetClassVars...,和is_subclass_of()有点类似,只是is_a()还可以判定是不是该类的对象,is_a()类似于instanceof操作符,Laravel中还没用到这个方法,这里写个PHPUnit测试,爆绿灯
前言 收到读者的咨询,情况是这样的: “亮哥,看了你最近的 8 篇关于持续交付的文章,想咨询一下对于研发人员有没有可落地的方案,我是 PHP 研发工程师,项目中使用的是 Laravel 框架,负责的是电商业务...关于这个问题,文章中理论的部分很到位,目前我们主要从技术人员的角度考虑,做一些 技术导向且支持开发过程的测试 ,实现一个可落地的方案,等拿到代码后就可以在此基础上编写,虽然不是很全面,但可以在此基础上进行扩展...项目的框架是 Laravel,那么我们考虑的就是在框架中如何编写单元测试代码?这个比较简单,在 tests 目录就可以编写测试用例。...用例编写 安装 orchestra/testbench composer require --dev "orchestra/testbench" 使用这个包,可以帮助编写 Laravel 项目测试,在这里面可以使用...二、如果执行项目内全部的 case 怎么办?命令这样写就可以 ./vendor/bin/phpunit tests。 三、Case 一定 API 测试吗?不一定,也可以测试自己的方法。
在这里,也希望大家尽量能找规模大一些的,开发比较正规的公司,类似的这种开发模式或测试相关的知识也能够学习到更多。 运行测试 Laravel 的测试组件,主要也是依赖于 PHPUnit 单元测试组件。...正因为使用的是 PHPUnit ,所以我们可以通过 PHPUnit 来执行测试,比如下面这个命令。...vendor/bin/phpunit 不过它的报告格式是原始的 PHPUnit 格式,在 Laravel 框架中,我们更推荐的是使用是框架自带的一个测试命令。...关于单元测试和断言以及其它相关的资料,大家可以参考官方文档或者是 PHPUnit 的文档,这里就不多说了,继续再看看别的测试方式。...也就说,其实 Laravel 框架默认是希望我们多使用这种 HTTP 测试的。好了,我们就来简单地测试一下。
说明:Laravel中经常使用PHP的Function Handling来设计代码,本文主要学习PHP的Function Handling特性,来提高写代码时的设计质量。...()可以说是PHP设计好代码的神器,不得不熟悉,这里给下它的PHPUnit测试看看如何使用,爆绿灯: <?...'; } } call_user_func_array()和call_user_func()真是个非常用的函数,值得在设计自己的代码里使用。...这里写个PHPUnit测试下,爆绿灯: class FunctionHandling extends \PHPUnit_Framework_TestCase { public function...Handling,这个技术可以用来提高自己的代码设计能力,同时Laravel中也大量使用了这个技术来巧妙设计代码。
Laravel 7 开始新增了一些新特性,今天我们来讲解下 路由绑定的新用法,自定义键名(slug)以及作用域(范围限定) 首先我们 安装最新版本的 Laravel ,并且创建两张数据表。...DB_HOST 为 mysql 新建 Post 文章数据表 php artisan make:model Post -mfcs 创建 Post 表字段,修改 database\migrations\日期...我们的以前的 URL 可能是如下这样: http://laravel7.test/posts/posts/1 我们是通过主键 ID 来进行查找的。...这种方法 看起来没什么问题,但是我们网站有多少数据用户是可以轻而易举地猜到。...public function getRouteKeyName() { return 'slug'; } 接下来我们就可以使用 slug 来进行查询了 比如下面的 URL http://laravel7
前言 最近在做laravel单元测试.遇到了一个问题: 当添加的view里面使用old()函数时就会报错,正常url访问没问题,但是在phpUnit中就报错 错误原因: exception 'RuntimeException...' with message 'Session store not set on request.' in /Users/lei/Sites/goodstyle/vendor/laravel/framework.../src/Illuminate/Http/Request.php:870 很明显这是一个跑出session没有开启的原因,但是phpUnit是laravel自己配置环境的,很是纠结,于是查看源代码 解决过程...开启session(app/Http/kerner) 很明显我已经开启了session,但是我又找到了我单元测试的代码发现我开启了这段代码 忽略中间件的限制 因为这段代码导致我session无法开启,...以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,如果有疑问大家可以留言交流,谢/【一个开发人员,能懂服务器量好,反之一个服务器维护人员,也应该懂开发】/谢大家对脚本之家的支持
在使用 Laravel 写单元测试时,直接复制了默认的文件:tests/Unit/ExampleTest.php。...而在测试对象中使用到了 Facades 相关的语法,执行phpunit时报错: RuntimeException: A facade root has not been set..../vendor/laravel/framework/src/Illuminate/Support/Facades/Facade.php:258 此问题的原因是继承了错误的基类,默认文件tests/Unit...PHPUnit\Framework\TestCase,而我们应该继承tests/TestCase.php中的Tests\TestCase。...extends BaseTestCase { use CreatesApplication; } 实际上应该复制 tests/Feature/ExampleTest.php 作为模板文件,就不会遇到这个问题了
*(laravel-admin 1.x)的一些问题以及解决办法汇总 时区问题(默认时区UTC-协调世界时) **解决办法:**把config/app.php中的'timezone' => 'UTC'修改为...中的'locale' => 'en'修改为'locale' => 'zh-CN' 如果你要用faker去填充测试数据,请修改'locale' => 'en'修改为'locale' => 'zh_CN'...首先把app/admin中的bootstrap.php 里边的Encore\Admin\Form::forget(['map', 'editor']);注释掉,意思就是使用这个组件。...// 如果要关掉这个扩展,设置为false 'enable' => true, // 编辑器的配置...'config' => [ ] ] ] 编辑器的配置可以到
Notadd - 基于 Laravel 和 Vue 的开源 PHP 框架 KiteCms YFCMF Flarum - 基于 PHP 和 Mithril.js 开发的轻社区 PHPDish - 基于...输出到Chrome浏览器的console中 ApnsPHP - IOS推送通知 php-socket-raw Faker - 假数据生成器 Validation - 校验工具 Geocoder Codiad...任务运行器 PHP-Queue - 管理队列后端的应用 RoboTask - PHP后台任务组件 Task - 一个灵感来源于Grunt和Gulp的纯PHP任务运行器 php-resque - PHP版...TCPDF *[GitHub*] - 使用官方PDF类生成PDF文档和条形码生成工具 FPDF [GitHub] - 利用纯PHP代码生成PDF文件 PDFParser [GitHub] - PDF文档解析库...测试框架 Codeception - BDD全栈测试框架 PHPUnit - 单元测试框架 atoum - 单元测试框架 Enhance-PHP - 单元测试框架 Mockery 模板引擎 Twig Smarty
领取专属 10元无门槛券
手把手带您无忧上云