Laravel 团队发布了 8.64,带有一个新的 @aware 刀片指令来访问父组件数据,另外还有 v8.x 分支中的最新变化。
? Laravel 8.64.0 今天发布,支持新的“ @aware ” Blade 指令,允许子组件在需要时轻松访问父组件数据。
? 查看文档中的示例:https ://t.co/QzoQ1juzxQ
— Taylor Otwell ? (@taylorotwell) ,2021 年 10 月 12 日
@aware 刀片指令
新@aware指令可以让子组件在需要时轻松访问父组件数据:
<!-- Example usage -->
<x-menu color="purple">
<x-menu.item>...</x-menu.item>
<x-menu.item>...</x-menu.item>
</x-menu>
<!--
Implementation
/resources/views/components/menu/index.blade.php
-->
@props(['color' => 'gray'])
<ul {{ $attributes->merge(['class' => 'bg-'.$color.'-200']) }}>
{{ $slot }}
</ul>
可以在 Laravel Blade 文档中了解更多关于访问父数据之信息。
Strip Tags Stringable 方法
Craig Anderson贡献了一个stripTags()用作Stringable 的方法,它使用 PHP的strip_tags()作为字符串链处理的一部分。如下:
Str::of('<strong>before<strong><br />after')->stripTags();
语言路径辅助函数
Rodolfo Ruiz贡献了一个lang_path()的helper函数,它能在 Laravel 项目的根目录查找lang目录,也可以在resources目录中查找:
// PROJECT_DIR/resources/lang or PROJECT_DIR/lang
$langPath = lang_path();
// PROJECT_DIR/resources/lang/es or PROJECT_DIR/lang/es
$langPath = lang_path('es');
// PROJECT_DIR/resources/lang/en or PROJECT_DIR/lang/en
$langPath = lang_path('en');
“throw if” HTTP 客户端方法
Ahmad Mayahi贡献了一个throwIf()方法,它接受一个布尔值,如果传递的值是true:
$response
->json()
->throwIf(App::isProduction);
集合“有任意”方法
Craig Anderson贡献了一个hasAny()的方法:如果集合包含任意传递的值,它将返回一个布尔值:
// returns `true`
collect(['first' => 'Hello', 'second' => 'World'])
->hasAny(['first', 'fourth']);
// returns `false`
collect(['first' => 'Hello', 'second' => 'World'])
->hasAny(['third', 'fourth']);
发布版说明
您可以在 GitHub 上查看下面的新功能和更新的完整列表以及8.63.0 和 8.64.0之间的差异。以下发行说明直接来自变更日志:
Laravel v8.64.0添加了如下特性:
- 向集合添加了 reduceMany ( #39078 )
- 添加Illuminate/Support/Stringable::stripTags()(#39098)
- 添加Illuminate/Console/OutputStyle::getOutput()(#39099)
- 添加了lang_path辅助功能 ( #39103 )
- 添加了 @aware 刀片指令 ( #39100 )
- 分派了新的 JobRetrying 事件 ( #39097 )
- 在客户端响应中添加 throwIf 方法 ( #39148 )
- 添加了 Illuminate/Collections/Collection::hasAny() ( #39155 )
- 修复了 PHP 8.1 上没有前缀的路由组 ( #39115 )
- 修复了在 InteractsWithInput 中定位承载令牌的代码(#39150)
- 重构Illuminate/Log/LogManager::prepareHandler()( #39093 )
- 在视图中完成渲染后刷新组件状态 ( 04fc7c2 )
- 忽略转储中的表空间 ( #39126 )
- 更新 SchemaState 进程以删除超时 ( #39139 )
原创文章,作者:ItWorker,如若转载,请注明出处:https://blog.ytso.com/258497.html