首页 > 作文

Laravel v7.7 发布 容器支持可变参数

更新时间:2023-04-08 12:54:31 阅读: 评论:0

laravel 团队昨天发布了 v7.7.0,其中包含容器支持的构造函数支持可变参数,一些新的 http 客户端功能,blueprint 新增 rawindex() 方法以及 7.x 分支中的所有最新功能,修复和更改 :

http 客户端 get 请求 支持数组

daniel mason 贡献了 http 客户端支持数组的功能:

http::get('http://foo.com', ['foo' => 'bar']);http::asrtnt(function (request $request) {    return $request->url() === 'http://foo.com/get?foo=bar'        && $request['foo'] === 'bar';});

http 客户端新增 asrtntcount 断言

christoph rumpel 为 http 客户端新增了asrtntcount断言,这对断言发送的预期请求值很有用:

$this->factory->fake();$this->factory->asrtntcount(0);$this->factory->post('http://foo.com/form', [       'name' => 'taylor',]);$this->fac台风飓风的区别tory->asrtntcount(1);$this->factory->post('http://foo.com/form', [       'name' => 'jim',]);$this->factory->asrtntcount(2);

“rawindex” 方法可以使用表达式创建索引

jonathan reinink 贡献了rawindex方法, 允许我们使用自定义 sql 表达式创建索引:

// beforeschema::create('urs', function (blueprint $table) {    $table->id();    $table->string('name');    $table->date('birth_date')->nullable();    $table->timestamps();});db::statement('alter table urs add index birthday_in祝前程似锦dex ((date_format(birth_date, "%m-%d")))');// afterschema::create('urs', function (blueprint $table) {    $table->id();    $table->string('name');    $table->date('birth_date')->nullable();    $table->timestamps();    $table->rawindex('(date_format(birth_date, "%m-%d"))', 'birthday_index');});

容器构造函数支持可变参数

beau simenn 为容器新增了可变参数功能,下面是个简单的使用案例:

// beforeapp()->singleton(logger::class, mylogger::class);app()->bind(firewall::class, function ($c) {    return new firewall(        $c->make(logger::class),        ...[            $c->make(nullfilter::class),            $c->make(profanityfilter::class),            $c->make(toolongfilter::class),        ]    );});// afterapp()->singleton(logger::class, mylogger::class);app()    ->when(firewall::class)    ->needs(filter::class)    ->give([        nullfilter::class,        profanityfilter::class,        toolongfilter::class,    ]);

就像pull request中的描述一样, 您也可以将闭包传递给give方法:

app()->singleton(logger::class, mylogger::class);app()    ->when(firewall::class)    ->needs(filter::class)    ->give(function ($c) {        return [            $c->make(nullfilter::class),            $c->make(profanityfilter::class),            $c->make(toolongfilter::class),        ];    });

pull request包含所有详细信息,和其他可以解决的问题。

http 客户端新增 “hasheaders” 断言

matt kingshott 为 http 客给点阳光就灿烂户端 新增了hasheaders()方法,该方法可以让您使用一些语法糖检查存在的请求头或值:

$headers = [    'x-test-header' => 'foo',    'x-test-arrayheader' => ['bar', 'baz'],];http::withheaders($headers);// ...http::asrtnt(function ($request) u ($headers) {    return $request->hasheaders($headers);});

发行说明

您可以在 github 查看一些新的功能和7.6.0 和 7.7.0之间的区别。完整的发行说明可以在v7 changelog看到:

v7.7.0

新增

http 客户端 get 请求支持数组 (#32401)新增illuminate\http\client\factory::asrtntcount()(#32407)新增illuminate\databa\schema\blueprint::rawindex()(#32411)eloquent builder 新增 getgrammar 到 passthru 中 (#32412)storage:link命令新增--relative参数 (#32457,24b705e)外键约束新增动态columnkey (#32449)容器新增可变参数支持 (#32454,1dd6db3)新增illuminate\http\client\request::hasheaders()(#32462)

修复

修复带有主键模型的morphpivot::delete()功能 bug (#32421)容器调用缺少必要参数会抛出异常 (#32439,44c2a8d)修复 http 客户端 multipart 请求 (#32428,1f163d4)修复illuminate\support\stringable::impty()(#32447)修复wherenull/wherenotnull支持 mysql 的 json 字段 (#32417,d3bb329)修复collection::orderby()使用回调 (#32471)

更改

compiledroutecollection重新启用router::ne辽宁省教师资格证wroute()(#32416)更高illu百年孤独简介minate\queue\interactswithqueue.php::$job为 public (2e272ee)计划任务运行期间捕获并报告异常 (#32461)

原文地址:https://laravel-news.com/laravel-7-7-rel…
译文地址:https://learnku.com/laravel/t/43581

更多学习内容请访问:

腾讯t3-t4标准精品php架构师教程目录大全,只要你看完保证薪资上升一个台阶(持续更新)

本文发布于:2023-04-08 12:53:30,感谢您对本站的认可!

本文链接:https://www.wtabcd.cn/fanwen/zuowen/09c7c2274b490b4b16381464fc786a6a.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

本文word下载地址:Laravel v7.7 发布 容器支持可变参数.doc

本文 PDF 下载地址:Laravel v7.7 发布 容器支持可变参数.pdf

标签:客户端   容器   断言   参数
相关文章
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2022 Comsenz Inc.Powered by © 专利检索| 网站地图