laravel 团队昨天发布了 v7.7.0,其中包含容器支持的构造函数支持可变参数,一些新的 http 客户端功能,blueprint 新增 rawindex() 方法以及 7.x 分支中的所有最新功能,修复和更改 :
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';});
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);
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包含所有详细信息,和其他可以解决的问题。
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看到:
illuminate\http\client\factory::asrtntcount()
(#32407)新增illuminate\databa\schema\blueprint::rawindex()
(#32411)eloquent builder 新增 getgrammar 到 passthru 中 (#32412)storage:link
命令新增--relative
参数 (#32457,24b705e)外键约束新增动态column
key (#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 条评论) |