ايه اللي هيحصل في laravel 11
زي ما متعودين ان اصدارات laravel بتكون في صالح المطور والتحسينات عشان تخليك دايما في مواكبة للاداء والمهام بشكل سلسل ومرونة عالية جدا لذلك
بالنسبة لل php
اقل اصدار هيتم استخدامه معاها 8.2
كمان الاطار هيتم حذف kernel.php
واللي بدوره هيتنقل لمسار جديد باسلوب جديد لدعم الوسائط اوmiddleware جديدة بشكل تماما
واعادة هيكلة تامة مع نقل ال kernel في مسار جديد وهو
Bootstrap/App
واللي من جواه هتقدر تعمل append لل custom middleware بشكل اخف واسرع ومنظم عن السابق سواء بشكل عام او بشكل مخصص علي ملفات ال route
web.php او api.php
مثال خفيف
return Application::configure()
->withProviders ()
-›withRouting(
web: DIR.'/../routes/web.php'
commands: DIR.'/../routes/console.php',
)
->withMiddleware(function(Middleware Smiddleware) {
$middleware->web(append: LaraconMiddleware::class):
})
تغييرات عليcasts جوا ال model
وهي دعم الطرق او ال methods للمناداة علي اي methods فرعية واللي بدورها هتخليك تقدر تنفذ اكتر من عملية علي column او object بعينه عكس العمليات الكتير اللي بنعملها سابقا عشان تديك نتيجة معينة
مثال
Model casts
protected function casts(): array
{
return [
'email_verified_at' => 'datetime',
'password' => 'hashed',
'options'=› AsEnumCollection::of(UserOption::class),
];
}
تغييرات جذرية علي ملفات ال config
Config Changes
في مجلد config العديد من ملفات الضبط التلقائي الافتراضية القادمة مع اي اصدار من اصدارات laravel
وبالتالي سيتم الغاء كل هذه الملفات ويتم دعمها بشكل مباشر من خلال .env مع اطلاق هذه الاعدادات من خلال
config:publish
وهو ما سيحد تماما من كثرة الملفات التي احيانا تتسبب في بطيء الاداء او مشاكل اخري غير متوقعه
ملفات الmigrations
Slimmed default Migrations
في حال بدء مشروع جديد تأتي ملفات بشكل افتراضي من سنة 2014 و 2019
كل هذه الملفات مع الاصدار 11 سيتم حذفها ونقلها والاكتفاء بملفين افتراضيين فقط
تغييرات علي ملفات المسارات
Routes changes
في الاصدارات الحالية والقديمة كانت تأتي مع الاطار ملفات افتراضية وهو web.php
و api.php
وملف channel.php
و
console.php
الان بشكل افتراضي سيكون ملفين web.php
و console.php
ويمكن طلب باقي اطلاق باقي الملف مثل api و broadcast
من خلال اوامر اضافية
مثل
artisan install:api
php artisan install:broadcasting و
مدعمة من خلال حزمة
Laravel Sanctum
حذف ملف kernel المسؤول عن
اوامر ال schedule
Console Kernel Removed
وستقوم بتحديد اوامرك بشكل مباشر من خلال ملف
في مجلد
routes/console.php
الاطار سيغطي في معظم اجزائه اسلوب ال
Named Arguments
او المسارات المسماه لذلك يجب التعامل مع كل المسميات القادمة عند استعمالها بحذر شديد
وذلك لخلق شكل توافقي مناسب ومطابق لما هو قادم مع php8.2
سيتم اطلاق النسخة في بداية سنة 2024
وستظل مدعمة حتي سنة 2026
#technology #laravel #education #publishing #newspapers #php #منقول
زي ما متعودين ان اصدارات laravel بتكون في صالح المطور والتحسينات عشان تخليك دايما في مواكبة للاداء والمهام بشكل سلسل ومرونة عالية جدا لذلك
بالنسبة لل php
اقل اصدار هيتم استخدامه معاها 8.2
كمان الاطار هيتم حذف kernel.php
واللي بدوره هيتنقل لمسار جديد باسلوب جديد لدعم الوسائط اوmiddleware جديدة بشكل تماما
واعادة هيكلة تامة مع نقل ال kernel في مسار جديد وهو
Bootstrap/App
واللي من جواه هتقدر تعمل append لل custom middleware بشكل اخف واسرع ومنظم عن السابق سواء بشكل عام او بشكل مخصص علي ملفات ال route
web.php او api.php
مثال خفيف
return Application::configure()
->withProviders ()
-›withRouting(
web: DIR.'/../routes/web.php'
commands: DIR.'/../routes/console.php',
)
->withMiddleware(function(Middleware Smiddleware) {
$middleware->web(append: LaraconMiddleware::class):
})
تغييرات عليcasts جوا ال model
وهي دعم الطرق او ال methods للمناداة علي اي methods فرعية واللي بدورها هتخليك تقدر تنفذ اكتر من عملية علي column او object بعينه عكس العمليات الكتير اللي بنعملها سابقا عشان تديك نتيجة معينة
مثال
Model casts
protected function casts(): array
{
return [
'email_verified_at' => 'datetime',
'password' => 'hashed',
'options'=› AsEnumCollection::of(UserOption::class),
];
}
تغييرات جذرية علي ملفات ال config
Config Changes
في مجلد config العديد من ملفات الضبط التلقائي الافتراضية القادمة مع اي اصدار من اصدارات laravel
وبالتالي سيتم الغاء كل هذه الملفات ويتم دعمها بشكل مباشر من خلال .env مع اطلاق هذه الاعدادات من خلال
config:publish
وهو ما سيحد تماما من كثرة الملفات التي احيانا تتسبب في بطيء الاداء او مشاكل اخري غير متوقعه
ملفات الmigrations
Slimmed default Migrations
في حال بدء مشروع جديد تأتي ملفات بشكل افتراضي من سنة 2014 و 2019
كل هذه الملفات مع الاصدار 11 سيتم حذفها ونقلها والاكتفاء بملفين افتراضيين فقط
تغييرات علي ملفات المسارات
Routes changes
في الاصدارات الحالية والقديمة كانت تأتي مع الاطار ملفات افتراضية وهو web.php
و api.php
وملف channel.php
و
console.php
الان بشكل افتراضي سيكون ملفين web.php
و console.php
ويمكن طلب باقي اطلاق باقي الملف مثل api و broadcast
من خلال اوامر اضافية
مثل
artisan install:api
php artisan install:broadcasting و
مدعمة من خلال حزمة
Laravel Sanctum
حذف ملف kernel المسؤول عن
اوامر ال schedule
Console Kernel Removed
وستقوم بتحديد اوامرك بشكل مباشر من خلال ملف
في مجلد
routes/console.php
الاطار سيغطي في معظم اجزائه اسلوب ال
Named Arguments
او المسارات المسماه لذلك يجب التعامل مع كل المسميات القادمة عند استعمالها بحذر شديد
وذلك لخلق شكل توافقي مناسب ومطابق لما هو قادم مع php8.2
سيتم اطلاق النسخة في بداية سنة 2024
وستظل مدعمة حتي سنة 2026
#technology #laravel #education #publishing #newspapers #php #منقول