The Laravel team released v10.35 with a Blade @use directive, a number abbreviation helper, the ability to generate a secret with artisan down, and more. Here is a bit more info about the new features introduced this week:
Add a Blade @use() directive
Simon Hamp contributed a @use() directive to import a PHP class into a Blade template without using raw PHP tags:
{{-- Before --}}
@php
use \App\Enums\WidgetStatusEnum as Status;
@endphp
{{-- After --}}
@use('App\Enums\WidgetStatusEnum', 'Status')
@use('App\Models\Bar')
{{ Status::Foo }}
{{ Bar::first() }}
Abbreviate a number with the Number::abbreviate() method
@jcsoriano contributed a Number::abbreviate() class to the newly added Number Class, which provides a human-readable abbreviated number:
Number::abbreviate(1_000_000); // "1M"
Number::abbreviate(100_001); // "100K"
Number::abbreviate(100_100); // "100K"
Number::abbreviate(99_999); // "100K"
Number::abbreviate(99_499); // "99K"
Add the --with-secret option to the artisan down command
Jacob Daniel Prunkl contributed a --with-secret option to the artisan down command that will generate a secret phrase that can be used to bypass maintenance mode so the user doesn't have to define one themselves:
Add Conditionable trait to the AssertableJson class
Khalil Laleh contributed adding the Conditionable trait to the AssertableJson class, to make it possible to assert based on a given conditional:
// Before
$response->assertJson(function (AssertableJson $json) use ($condition) {
$json->has('data');
if ($condition) {
$json->has('meta');
}
$json->etc();
});
// After
$response
->assertJson(fn (AssertableJson $json) => $json->has('data'))
->when($condition, fn (AssertableJson $json) => $json->has('meta'))
// ...
;
Release notes
You can see the complete list of new features and updates below and the diff between 10.34.0 and 10.35.0 on GitHub. The following release notes are directly from the changelog:
v10.35.0
* [10.x] Add Conditionable trait to AssertableJson by @khalilst in
https://github.com/laravel/framework/pull/49172
/>
* [10.x] Add --with-secret option to Artisan down command. by @jj15asmr in
https://github.com/laravel/framework/pull/49171
/>
* [10.x] Add support for Number::summarize by @jcsoriano in
https://github.com/laravel/framework/pull/49197
/>
* [10.x] Add Blade @use directive by @simonhamp in
https://github.com/laravel/framework/pull/49179
/>
* [10.x] Fixes retrying failed jobs causes PHP memory exhaustion errors when dealing with thousands of failed jobs by @crynobone in
https://github.com/laravel/framework/pull/49186
/>
* [10.x] Add "substituteImplicitBindingsUsing" method to router by @calebporzio in
https://github.com/laravel/framework/pull/49200
/>
* [10.x] Cookies Having Independent Partitioned State (CHIPS) by @fabricecw in
https://github.com/laravel/framework/pull/48745
/>
* [10.x] Update InteractsWithDictionary.php to use base InvalidArgumentException by @Grldk in
https://github.com/laravel/framework/pull/49209
/>
* [10.x] Fix docblock for wasRecentlyCreated by @stancl in
https://github.com/laravel/framework/pull/49208
/>
* [10.x] Fix loss of attributes after calling child component by @rojtjo in
https://github.com/laravel/framework/pull/49216
/>
* [10.x] Fix typo in PHPDoc comment by @caendesilva in
https://github.com/laravel/framework/pull/49234
/>
* [10.x] Determine if the given view exists. by @hafezdivandari in
https://github.com/laravel/framework/pull/49231
/>
The post Laravel 10.35 Released appeared first on Laravel News.
Join the Laravel Newsletter to get Laravel articles like this directly in your inbox.
0 comments:
Post a Comment
Thanks