CoderFunda
  • Home
  • About us
    • Contact Us
    • Disclaimer
    • Privacy Policy
    • About us
  • Home
  • Php
  • HTML
  • CSS
  • JavaScript
    • JavaScript
    • Jquery
    • JqueryUI
    • Stock
  • SQL
  • Vue.Js
  • Python
  • Wordpress
  • C++
    • C++
    • C
  • Laravel
    • Laravel
      • Overview
      • Namespaces
      • Middleware
      • Routing
      • Configuration
      • Application Structure
      • Installation
    • Overview
  • DBMS
    • DBMS
      • PL/SQL
      • SQLite
      • MongoDB
      • Cassandra
      • MySQL
      • Oracle
      • CouchDB
      • Neo4j
      • DB2
      • Quiz
    • Overview
  • Entertainment
    • TV Series Update
    • Movie Review
    • Movie Review
  • More
    • Vue. Js
    • Php Question
    • Php Interview Question
    • Laravel Interview Question
    • SQL Interview Question
    • IAS Interview Question
    • PCS Interview Question
    • Technology
    • Other

12 September, 2024

Laracon US Keynote Framework Updates Are Now In Laravel 11.23

 Programing Coderfunda     September 12, 2024     No comments   

---




The Laravel team released v11.23 this week, with the Laracon US 2024 open-source updates like defer(), concurrency, contextual container attritubes, and more.


Laracon 2024 Updates




Taylor Otwell contributed all of the goodies he shared in his Laracon US 2024 keynote, including chaperone(), defer(), Cache::flexible(), contextual container attributes, and more.


The documentation is being updated; here are a few highlights you should check out to get familiar with these updates:




*
Concurrency Documentation


*
Container Contextual Attributes


*
Automatically Hydrating Parent Models on Children (AKA chaperone())

*
Helpers: Deferred Functions






See Pull Request #52710 for full details on everything added related to Taylor's .


Add minRatio and maxRatio Rules to Dimension Validation




Cam Kemshal-Bell added min and max ratio to the dimensions validation rule:



You can use these methods fluently, using minRatio(), maxRatio(), and ratioBetween():
use Illuminate\Validation\Rule;

//
// Using minRatio and maxRatio fluent methods
//
Rule::dimensions()
->minRatio(1 / 2)
->maxRatio(1 / 3);
// dimensions:min_ratio=0.5,max_ratio=0.33333333333333

//
// Equivalent using ratioBetween()
//
Rule::dimensions()->ratioBetween(min: 1 / 2, max: 1 / 3);

// dimensions:min_ratio=0.5,max_ratio=0.33333333333333



You can also use the string style dimensions rule with this update as well:
use Illuminate\Support\Facades\Validator;

Validator::make($request->all(), [
'min_12' => 'dimensions:min_ratio=1/2',
'square' => 'dimensions:ratio=1',
'max_25' => 'dimensions:max_ratio=2/5',
'min_max' => 'dimensions:min_ratio=1/4,max_ratio=2/5',
]);



Backed Enum Support in Gate Methods and Authorize Middleware




Diaa Fares contributed two pull requests that continue to add backed enum support. This release includes updates to the Gate methods and Authorize middleware.


Here are some examples of using Enums with Gate methods:
enum Abilities: string {
case VIEW_DASHBOARD = 'view-dashboard';
case EDIT = 'edit';
case UPDATE = 'update';
}

// Before
Gate::define('view-dashboard', function (User $user) {
return $user->isAdmin;
});

Gate::authorize('view-dashboard');
Gate::inspect('view-dashboard');
Gate::check('view-dashboard');
Gate::any(['edit', 'update], $post);
Gate::none(['edit', 'update]], $post);
Gate::allows('update', $post);
Gate::denies('update', $post);

// After
Gate::define(Abilities::VIEW_DASHBOARD, function (User $user) {
return $user->isAdmin;
});

Gate::authorize(Abilities::VIEW_DASHBOARD);
Gate::inspect(Abilities::VIEW_DASHBOARD);
Gate::check(Abilities::VIEW_DASHBOARD);
Gate::any([Abilities::EDIT, Abilities::UPDATE], $post);
Gate::none([Abilities::EDIT, Abilities::UPDATE], $post);
Gate::allows(Abilities::UPDATE, $post);
Gate::denies(Abilities::UPDATE, $post);



Here's an example of the Authorize middleware's support for backed enums:
Route::get('/dashboard', [AdminDashboardController::class, 'index'])
->middleware(
Authorize::using(Abilities::VIEW_DASHBOARD)
)
->name(AdminRoutes::DASHBOARD);



Skip Middleware for Queue Jobs




Kennedy Tedesco contributed a Skip middleware to skip a job based on a condition. This middleware has three static constructor methods you can use, including when(), unless(). The job is skipped based on the result of the condition used:
class MyJob implements ShouldQueue
{
use Queueable;

public function handle(): void
{
// TODO
}

public function middleware(): array
{
return [
Skip::when($someCondition), // Skip when `true`

Skip::unless($someCondition), // Skip when `false`

Skip::when(function(): bool {
if ($someCondition) {
return true;
}
return false;
}),
];
}
}



Eloquent Collection findOrFail() Method




Steve Bauman contributed a findOrFail() method on Eloquent collections that adds a way to find a model on an already populated collection:
$users = User::get(); // [User(id: 1), User(id: 2)]

$users->findOrFail(1); // User

$user->findOrFail([]); // []

$user->findOrFail([1, 2]); // [User, User]

$user->findOrFail(3); // ModelNotFoundException: 'No query results for model [User] 3'

$user->findOrFail([1, 2, 3]); // ModelNotFoundException: 'No query results for model [User] 3'



Release notes




You can see the complete list of new features and updates below and the diff between 11.22.0 and 11.23.0 on GitHub. The following release notes are directly from the changelog:


v11.23.0






* [11.x] Fix $fail closure type in docblocks for validation rules by @bastien-phi in
https://github.com/laravel/framework/pull/52644 />

* [11.x] Add MSSQL 2017 and PGSQL 10 builds by @driesvints in
https://github.com/laravel/framework/pull/52631 />

* Update everyThirtyMinutes cron expression by @SamuelNitsche in
https://github.com/laravel/framework/pull/52662 />

* Bump micromatch from 4.0.5 to 4.0.8 in /src/Illuminate/Foundation/resources/exceptions/renderer by @dependabot in
https://github.com/laravel/framework/pull/52664 />

* [11.x] apply excludeUnvalidatedArrayKeys to list validation by @lorenzolosa in
https://github.com/laravel/framework/pull/52658 />

* [11.x] Adding minRatio & maxRatio rules on Dimension validation ruleset by @CamKem in
https://github.com/laravel/framework/pull/52482 />

* [11.x] Add BackedEnum support to Authorize middleware by @diaafares in
https://github.com/laravel/framework/pull/52679 />

* [11.x] Add BackedEnum support to Gate methods by @diaafares in
https://github.com/laravel/framework/pull/52677 />

* [11.x] Suggest serializable-closure by @driesvints in
https://github.com/laravel/framework/pull/52673 />

* [11.x] Fix alter table expressions on SQLite by @hafezdivandari in
https://github.com/laravel/framework/pull/52678 />

* [11.x] Add Exceptions\Handler::mapLogLevel(...) so the logic can be easily overridden by @taka-oyama in
https://github.com/laravel/framework/pull/52666 />

* [11.x] Bugfix for calling pluck() on chaperoned relations. by @samlev in
https://github.com/laravel/framework/pull/52680 />

* [11.x] Fix build failures due to enum collide After adding BackedEnum support to Gate by @diaafares in
https://github.com/laravel/framework/pull/52683 />

* Fixing Str::trim to remove the default trim/ltrim/rtim characters " \n\r\t\v\0" by @mathiasgrimm in
https://github.com/laravel/framework/pull/52684 />

* [11.x] Add Skip middleware for Queue Jobs by @KennedyTedesco in
https://github.com/laravel/framework/pull/52645 />

* [11.x] Fix etag headers for binary file responses by @wouterrutgers in
https://github.com/laravel/framework/pull/52705 />

* [11.x] add withoutDelay() to PendingDispatch by @KennedyTedesco in
https://github.com/laravel/framework/pull/52696 />

* [11.x] Refactor Container::getInstance() to use null coalescing assignment by @xurshudyan in
https://github.com/laravel/framework/pull/52693 />

* [11.x] Removed unnecessary call to setAccessible(true) by @xurshudyan in
https://github.com/laravel/framework/pull/52691 />

* [11.x] Add Eloquent\Collection::findOrFail by @stevebauman in
https://github.com/laravel/framework/pull/52690 />

* [11.x] PHPStan Improvements by @crynobone in
https://github.com/laravel/framework/pull/52712 />

* [11.x] Fix Collection PHPDoc by @staudenmeir in
https://github.com/laravel/framework/pull/52724 />

* [11.x] Add optional parameter for confirmed validator rule by @jwpage in
https://github.com/laravel/framework/pull/52722 />

* [11.x] Test Improvements by @crynobone in
https://github.com/laravel/framework/pull/52718 />

* [11.x] Fix incorrect variable-length argument $guards from array to string by @kayw-geek in
https://github.com/laravel/framework/pull/52719 />

* Allow testing of relative signed routes by @shealavington in
https://github.com/laravel/framework/pull/52726 />

* [11.x] fix: Builder::with closure types by @calebdw in
https://github.com/laravel/framework/pull/52729 />

* Laracon 2024 by @taylorotwell in
https://github.com/laravel/framework/pull/52710 />

* Add Tag attribute by @TijmenWierenga in
https://github.com/laravel/framework/pull/52743 />

* [11.x] Adds BackedEnum to PendingDispatch's phpDoc for onQueue, allOnQueue, onConnection, allOnConnection methods by @sethsandaru in
https://github.com/laravel/framework/pull/52739 />

* New when() helper. by @danmatthews in
https://github.com/laravel/framework/pull/52665 />

* [11.x] Add fromUrl() to Attachment by @KennedyTedesco in
https://github.com/laravel/framework/pull/52688 />






The post Laracon US Keynote Framework Updates Are Now In Laravel 11.23 appeared first on Laravel News.


Join the Laravel Newsletter to get Laravel articles like this directly in your inbox.
  • Share This:  
  •  Facebook
  •  Twitter
  •  Google+
  •  Stumble
  •  Digg
Email ThisBlogThis!Share to XShare to Facebook
Newer Post Older Post Home

0 comments:

Post a Comment

Thanks

Meta

Popular Posts

  • Generate Migrations from an Existing Database With the Migration Generator Package
    Laravel Migration Generator Migration Generator for Laravel is a package by Bennett Treptow to generate migrations from existing database ...
  • 'Ramayana' to have 'Baahubali'-style cliffhanger ending
    image/jpeg https://timesofindia.indiatimes.com/entertainment/hindi/bollywood/news/ramayana-to-end-on-baahubali-style-cliffhanger-director-ni...
  • Andhra Pradesh NEET UG 2026 rank list released at drntr.uhsap.in: Direct link to download here
    Dr. NTR University of Health Sciences has published the Andhra Pradesh NEET UG 2026 rank-wise list, declaring 33,220 candidates eligible for...
  • Vue.js Events
      In Vue.js, Events are used to respond to an action. Suppose, you have to build a dynamic website using Vue.js then you'll most likely ...
  • Bagisto E-commerce Platform
      Bagisto is an open-source E-commerce platform built on top of Laravel and Vue.js by Webkul. Bagisto is an E-commerce ecosystem designed...

Categories

  • Ajax (26)
  • Bootstrap (30)
  • DBMS (42)
  • HTML (12)
  • HTML5 (45)
  • JavaScript (10)
  • Jquery (34)
  • Jquery UI (2)
  • JqueryUI (32)
  • Laravel (1017)
  • Laravel Tutorials (23)
  • Laravel-Question (6)
  • Magento (9)
  • Magento 2 (95)
  • MariaDB (1)
  • MySql Tutorial (2)
  • PHP-Interview-Questions (3)
  • Php Question (13)
  • Python (36)
  • RDBMS (13)
  • SQL Tutorial (79)
  • Vue.js Tutorial (69)
  • Wordpress (150)
  • Wordpress Theme (3)
  • codeigniter (108)
  • oops (4)
  • php (853)

Social Media Links

  • Follow on Twitter
  • Like on Facebook
  • Subscribe on Youtube
  • Follow on Instagram

Pages

  • Home
  • Contact Us
  • Privacy Policy
  • About us

Blog Archive

  • ►  2026 (117)
    • ►  08/02 - 08/09 (8)
    • ►  07/26 - 08/02 (108)
    • ►  06/28 - 07/05 (1)
  • ►  2025 (4)
    • ►  07/06 - 07/13 (2)
    • ►  06/29 - 07/06 (2)
  • ▼  2024 (486)
    • ►  09/15 - 09/22 (30)
    • ▼  09/08 - 09/15 (35)
      • An auth helper package for Laravel HTTP Client
      • Error when i run commend php composer dump-autoload
      • Should Laravel introduce AI validation rules into ...
      • Where to find the latest version of google-api-ser...
      • I am trying to insert a timestamp from one spreads...
      • Different plots of marginal effects with interacti...
      • Laravel Singletons Can Be Dangerous in Long Living...
      • Stop using arrays
      • Laravel Herd Adds Forge Integration, Dump Updates,...
      • What’s New in Laravel 11.23: A Summary
      • Excel VBA Selecting the files xxx_Before.log then ...
      • ✅ Command Validator: validate the input of console...
      • Invalid Grant Error with MSAL in Next.js - Insuffi...
      • Laracon US Keynote Framework Updates Are Now In La...
      • Getting Authentication error when connecting to an...
      • how can I integrate continuous data and static dat...
      • Spring boot app (error: method getFirst()) failed ...
      • VS Code feels less
      • How to Not Turn Your Laravel App into a Circus
      • Lazy JSON Pages: scrape any JSON API in a memory-e...
      • Truncating Production Tables Live On Stage with Ve...
      • error when trying to join many upset plots in only...
      • pip install itself fails with "No module named 'di...
      • Are `elf.h` structures packed?
      • API WOOCOMERCE (INSERT PRODUCT) - Whitespace on at...
      • Does it cost money to read from aws s3 in Python?
      • Don't undo what you haven't done. Avoid this subtl...
      • Pest v3 Now Available
      • Laravel Password Hashing With Salt
      • Theo (t3dotgg) rage-baiting about Laravel without ...
      • Weekly /r/Laravel Help Thread
      • nextjs google sign in
      • Why Postgres query is not using column in Index Co...
      • SQL Server options to handle a large table, from t...
      • Sonatype Nexus OSS 3.69.0 Npm Issue
    • ►  09/01 - 09/08 (35)
    • ►  08/11 - 08/18 (2)
    • ►  08/04 - 08/11 (33)
    • ►  07/28 - 08/04 (30)
    • ►  07/07 - 07/14 (11)
    • ►  06/30 - 07/07 (35)
    • ►  06/23 - 06/30 (5)
    • ►  06/02 - 06/09 (31)
    • ►  05/26 - 06/02 (20)
    • ►  05/05 - 05/12 (29)
    • ►  04/28 - 05/05 (26)
    • ►  04/07 - 04/14 (10)
    • ►  03/31 - 04/07 (34)
    • ►  03/24 - 03/31 (10)
    • ►  03/03 - 03/10 (35)
    • ►  02/25 - 03/03 (15)
    • ►  02/04 - 02/11 (22)
    • ►  01/28 - 02/04 (30)
    • ►  01/07 - 01/14 (8)
  • ►  2023 (484)
    • ►  12/31 - 01/07 (35)
    • ►  12/24 - 12/31 (10)
    • ►  12/03 - 12/10 (33)
    • ►  11/26 - 12/03 (20)
    • ►  11/05 - 11/12 (35)
    • ►  10/29 - 11/05 (20)
    • ►  10/22 - 10/29 (9)
    • ►  10/15 - 10/22 (7)
    • ►  10/08 - 10/15 (9)
    • ►  10/01 - 10/08 (10)
    • ►  09/24 - 10/01 (9)
    • ►  09/17 - 09/24 (9)
    • ►  09/10 - 09/17 (7)
    • ►  09/03 - 09/10 (9)
    • ►  08/27 - 09/03 (9)
    • ►  08/20 - 08/27 (8)
    • ►  08/13 - 08/20 (8)
    • ►  08/06 - 08/13 (8)
    • ►  07/30 - 08/06 (8)
    • ►  07/23 - 07/30 (7)
    • ►  07/16 - 07/23 (8)
    • ►  07/09 - 07/16 (7)
    • ►  07/02 - 07/09 (8)
    • ►  06/25 - 07/02 (7)
    • ►  06/18 - 06/25 (7)
    • ►  06/11 - 06/18 (7)
    • ►  06/04 - 06/11 (11)
    • ►  05/28 - 06/04 (7)
    • ►  05/21 - 05/28 (8)
    • ►  05/14 - 05/21 (11)
    • ►  05/07 - 05/14 (7)
    • ►  04/30 - 05/07 (7)
    • ►  04/23 - 04/30 (8)
    • ►  04/16 - 04/23 (9)
    • ►  04/09 - 04/16 (7)
    • ►  04/02 - 04/09 (4)
    • ►  03/26 - 04/02 (21)
    • ►  03/19 - 03/26 (2)
    • ►  03/12 - 03/19 (9)
    • ►  03/05 - 03/12 (26)
    • ►  02/26 - 03/05 (25)
    • ►  01/15 - 01/22 (7)
    • ►  01/08 - 01/15 (1)
  • ►  2022 (1037)
    • ►  12/11 - 12/18 (13)
    • ►  12/04 - 12/11 (1)
    • ►  11/27 - 12/04 (40)
    • ►  11/06 - 11/13 (1)
    • ►  10/16 - 10/23 (13)
    • ►  09/04 - 09/11 (5)
    • ►  08/21 - 08/28 (24)
    • ►  08/14 - 08/21 (24)
    • ►  07/03 - 07/10 (9)
    • ►  06/19 - 06/26 (3)
    • ►  05/29 - 06/05 (3)
    • ►  05/22 - 05/29 (3)
    • ►  05/15 - 05/22 (109)
    • ►  05/01 - 05/08 (7)
    • ►  04/24 - 05/01 (7)
    • ►  04/17 - 04/24 (64)
    • ►  04/10 - 04/17 (115)
    • ►  04/03 - 04/10 (73)
    • ►  03/27 - 04/03 (77)
    • ►  03/13 - 03/20 (2)
    • ►  03/06 - 03/13 (25)
    • ►  02/27 - 03/06 (18)
    • ►  02/20 - 02/27 (153)
    • ►  02/13 - 02/20 (187)
    • ►  01/30 - 02/06 (45)
    • ►  01/23 - 01/30 (15)
    • ►  01/16 - 01/23 (1)
  • ►  2021 (412)
    • ►  10/24 - 10/31 (2)
    • ►  07/25 - 08/01 (1)
    • ►  07/11 - 07/18 (10)
    • ►  06/13 - 06/20 (29)
    • ►  05/23 - 05/30 (1)
    • ►  05/02 - 05/09 (24)
    • ►  04/25 - 05/02 (24)
    • ►  04/18 - 04/25 (112)
    • ►  04/11 - 04/18 (1)
    • ►  04/04 - 04/11 (6)
    • ►  03/28 - 04/04 (86)
    • ►  03/21 - 03/28 (19)
    • ►  03/14 - 03/21 (2)
    • ►  03/07 - 03/14 (10)
    • ►  02/28 - 03/07 (1)
    • ►  02/21 - 02/28 (29)
    • ►  02/14 - 02/21 (13)
    • ►  02/07 - 02/14 (12)
    • ►  01/31 - 02/07 (6)
    • ►  01/17 - 01/24 (2)
    • ►  01/10 - 01/17 (8)
    • ►  01/03 - 01/10 (14)
  • ►  2020 (376)
    • ►  12/27 - 01/03 (37)
    • ►  12/20 - 12/27 (92)
    • ►  12/13 - 12/20 (29)
    • ►  12/06 - 12/13 (37)
    • ►  11/29 - 12/06 (4)
    • ►  11/15 - 11/22 (14)
    • ►  11/08 - 11/15 (8)
    • ►  11/01 - 11/08 (2)
    • ►  10/18 - 10/25 (14)
    • ►  10/11 - 10/18 (16)
    • ►  10/04 - 10/11 (10)
    • ►  09/20 - 09/27 (10)
    • ►  09/06 - 09/13 (19)
    • ►  08/30 - 09/06 (26)
    • ►  08/23 - 08/30 (4)
    • ►  08/16 - 08/23 (2)
    • ►  07/12 - 07/19 (48)
    • ►  05/17 - 05/24 (2)
    • ►  01/05 - 01/12 (2)
  • ►  2019 (74)
    • ►  07/07 - 07/14 (6)
    • ►  06/16 - 06/23 (6)
    • ►  02/10 - 02/17 (17)
    • ►  01/13 - 01/20 (37)
    • ►  01/06 - 01/13 (8)
  • ►  2018 (376)
    • ►  12/30 - 01/06 (24)
    • ►  12/16 - 12/23 (8)
    • ►  12/09 - 12/16 (98)
    • ►  12/02 - 12/09 (16)
    • ►  11/18 - 11/25 (36)
    • ►  11/04 - 11/11 (18)
    • ►  10/28 - 11/04 (10)
    • ►  10/21 - 10/28 (26)
    • ►  10/14 - 10/21 (52)
    • ►  10/07 - 10/14 (4)
    • ►  09/30 - 10/07 (2)
    • ►  09/23 - 09/30 (68)
    • ►  09/16 - 09/23 (4)
    • ►  09/09 - 09/16 (4)
    • ►  08/26 - 09/02 (6)

Data Publish News

Loading...

Al Jazeera – Breaking News, World News and Video from Al Jazeera

Loading...

Laravel News

Loading...

Copyright © CoderFunda | Powered by Blogger
Design by Coderfunda | Blogger Theme by Coderfunda | Distributed By Coderfunda