جدول محتويات إطار عمل Laravel 11 يتضمن التفاصيل والتفريعات التالية:
- مقدمة
- تقديم السلسلة التعليمية.
- ملاحظات عامة حول التقويم والجدول الزمني للفيديوهات.
- الفيديو الأول: تغييرات في الهيكلية الأساسية
- إنشاء مشروع جديد باستخدام Laravel 11.
- شرح الأوامر لتحديث أو تثبيت Laravel.
- تعديلات على موقع الكود وملفات الهيكلية.
- الفيديو الثاني: أوامر Artisan الجديدة
- الأوامر الجديدة والتعديلات على الأوامر القائمة.
- الفيديو الثالث: تغييرات في Middleware
- تغييرات في إدارة واستخدام Middleware.
- الفيديو الرابع: Casting في Eloquent
- كيفية إدارة casting لحقول البيانات في قاعدة البيانات.
- الفيديو الخامس: ترقية من Laravel 10 إلى Laravel 11
- خطوات وإرشادات لترقية التطبيق.
- الأدوات والتكوينات الجديدة
- استخدام SQLite كقاعدة بيانات افتراضية.
- إعدادات جديدة لتهيئة الاختبارات مع PHPUnit أو Pest.
- تفاعلات جديدة مع النظام الأساسي لـ Laravel وإضافات على إعدادات PHP وNode.
- خلاصة ونهاية السلسلة
- تلخيص الميزات الجديدة.
- توقعات للفيديوهات القادمة وجدول النشر.
هذا التصنيف يعطي نظرة شاملة لمحتوى السكربت ويظهر التنظيم المتبع في تقديم مختلف الجوانب والميزات الجديدة في Laravel 11.
في السكربت، يتم تفصيل الخطوات لتحديث أو تثبيت Laravel 11 بالطريقة التالية:
- التحقق من تثبيت Laravel:
- يُطلب من المستخدمين التحقق من تثبيت Laravel عبر إدخال الأمر
laravel -V
في الـ terminal لمعرفة النسخة المثبتة.
- تحديث Laravel:
- إذا كان Laravel مثبتًا بالفعل، يُنصح المستخدمون بتحديث النسخة باستخدام الأمر
composer global update laravel/installer
للحصول على آخر التحديثات.
- تثبيت Laravel:
- للمستخدمين الذين لا يمتلكون Laravel، يُشير السكربت إلى استخدام الأمر
composer global require laravel/installer
لتثبيته.
- إعادة التحقق من التثبيت:
- بعد التثبيت، يُنصح بتشغيل الأمر
laravel -V
مرة أخرى للتأكد من أن النسخة الجديدة متاحة في الـ terminal.
- إضافة مسار الـ Composer:
- لمستخدمي macOS الذين يستخدمون zsh كمفسر أوامر، يُنصح بإضافة مسار bin global لـ Composer إلى ملف zsh RC لضمان الوصول إلى أوامر Laravel عبر الـ terminal.
- إعادة تحميل الـ Terminal:
- بعد إضافة المسار، يُنصح بإعادة تشغيل الـ terminal أو تحديثه باستخدام الأمر
source zsh RC
لتفعيل التغييرات.
هذه الخطوات توضح كيفية التحقق من النسخة المثبتة، تحديثها، أو تثبيت Laravel 11 بطريقة منظمة، مما يجعل العملية واضحة وسهلة للمستخدمين.
بالطبع! إليك الأوامر البرمجية المذكورة في السكربت لتحديث أو تثبيت Laravel 11، مقدمة في مقتبسات منفصلة لتسهيل النسخ:
- للتحقق من تثبيت Laravel:
laravel -V
- لتحديث Laravel:
composer global update laravel/installer
- لتثبيت Laravel للمرة الأولى:
composer global require laravel/installer
- لإعادة التحقق من التثبيت بعد التحديث أو التثبيت:
laravel -V
- لإضافة مسار bin global لـ Composer في zsh (لمستخدمي macOS):
يتم إضافة السطر التالي في ملف zsh RC:
export PATH="$PATH:$HOME/.composer/vendor/bin"
- لإعادة تحميل الـ Terminal بعد إضافة المسار:
source ~/.zshrc
هذه الأوامر تساعد في إدارة تثبيت وتحديث Laravel بشكل فعال.
في الفيديو الأول من سلسلة فيديوهات Laravel 11، يناقش المتحدث تعديلات على موقع الكود وملفات الهيكلية بالتفصيل كالتالي:
- التغييرات في الهيكلية الأساسية:
- يشرح المتحدث أن هناك العديد من الملفات التي تم إزالتها من الهيكلية الأساسية للمشروع وتم دمجها مباشرة في مصادر الفريمورك نفسه.
- تحديد مواقع الكود الجديدة:
- يوضح المتحدث أين يجب الآن وضع الكود الذي كان يتم وضعه سابقاً في المشاريع المختلفة نتيجة لهذه التغييرات. يعطي مثالاً على أن ملفات معينة تمت إزالتها من الدليل الجذري للمشروع وأُضيفت إلى الفريمورك نفسه.
- تفاصيل حول مكان الكود المخصص:
- يناقش المتحدث بالتفصيل كيف يجب على المطورين إدارة الكود المخصص الذي كان يتم وضعه في دليل
app
وكيف أن العديد من هذه الملفات الآن تتطلب تحديد مواقع جديدة ضمن الفريمورك. - يتحدث عن الفروقات في إدارة الـ middleware وكيف أن ملف
kernel.php
لم يعد موجودًا في دليلHTTP
بل تم دمجه في ملفات أخرى ضمن الفريمورك.
- تعديلات الدوسيهات وملفات النظام:
- يشرح أن دوسيهات مثل
HTTP
وConsole
قد شهدت إزالة العديد من الملفات التي كانت تعتبر جزءاً أساسياً منها في الإصدارات السابقة. - يُعلِم المتحدث المشاهدين بأن عليهم الآن الرجوع إلى الوثائق لفهم كيفية التعامل مع هذه التغييرات وإدارة الكود بطريقة تتناسب مع الهيكلية الجديدة.
النقاط المذكورة تشكل جزءاً مهماً من العرض الأولي في الفيديو وتوضح كيفية التعامل مع الإصدار الجديد من Laravel فيما يتعلق بالهيكلية ومكان وضع الكود.
في الفيديو الثاني من سلسلة فيديوهات Laravel 11، يناقش المتحدث الأوامر الجديدة والتعديلات على الأوامر القائمة في Artisan. وإليك ملخصًا بسيطًا عن ما تم طرحه:
- الأوامر الجديدة: يعرض المتحدث أوامر جديدة تم إضافتها لتحسين تطوير التطبيقات وإدارتها.
- على سبيل المثال، يمكن أن يكون هناك أمر جديد لتسريع إنشاء بعض العناصر في التطبيق.
- التعديلات على الأوامر القائمة: يشرح المتحدث التعديلات التي تم إجراؤها على أوامر Artisan القائمة لجعلها أكثر فعالية أو لتتكيف مع الوظائف الجديدة في Laravel 11.
- مثلاً، قد يتم تحديث الأمر
php artisan make:model
ليشمل خيارات جديدة تتعلق بالتكامل مع ميزات Laravel الجديدة.
للأسف، النص المقدم لا يحتوي على أمثلة محددة للأوامر، ولكن هذا يعطيك فكرة عن نوع التغييرات التي يمكن توقعها في الأوامر ضمن Laravel 11 استنادًا إلى الوصف في الفيديو الثاني.
بالطبع! في Laravel 11، هناك العديد من الأوامر الجديدة والتحديثات على أوامر Artisan القائمة التي تعزز الإنتاجية وتحسن تجربة التطوير. فيما يلي بعض الأمثلة المحتملة للأوامر التي قد تُضاف أو تُحدث في هذا الإصدار:
- تحسين أوامر الـ Migration:
- Laravel قد يقدم تحسينات على الأوامر المتعلقة بالمهاجرات، مثل خيارات جديدة للتعامل مع الـ migrations في بيئات التطوير المختلفة.
php artisan migrate --step
هذا الخيار يسمح بتنفيذ المهاجرات خطوة بخطوة.
- أوامر جديدة للتعامل مع الـ Jobs:
- قد تُضاف أوامر جديدة لتسهيل إنشاء وإدارة الـ jobs ضمن queue system.
php artisan make:job SendReminderEmails --sync
الخيار --sync
يُمكن أن يُستخدم لإنشاء job ينفذ بشكل متزامن بدلاً من الإرسال إلى queue.
- تحسينات على أوامر توليد الكود:
- Artisan قد يحصل على تحديثات لأوامر توليد الكود لتشمل خيارات أكثر تخصيصًا، مثل توليد controllers أو models مع السكوبات المحددة مسبقًا.
php artisan make:model FinancialReport --scopes
يُمكن أن يُضيف هذا الخيار القدرة على تضمين توابع scope جاهزة في model.
- توسيع دعم الاختبار:
- Laravel قد يقدم أوامر جديدة لتسهيل كتابة وتشغيل الاختبارات، خاصة مع التكامل المعزز لأدوات الاختبار مثل Pest.
php artisan test --pest
هذا الأمر يمكن أن يُسهل تشغيل اختبارات Pest مباشرة من خلال Artisan.
هذه مجرد أمثلة على ما قد يتضمنه Laravel 11 فيما يخص تحديثات الأوامر في Artisan، وليست مأخوذة مباشرةً من الإصدار الفعلي، ولكنها تُظهر النوع من التحسينات التي يمكن أن نتوقعها في إطار العمل.
في الفيديو الثالث من السلسلة التعليمية حول Laravel 11، يناقش المتحدث التغييرات التي طرأت على إدارة واستخدام Middleware. هذه بعض النقاط الرئيسية التي تم تغطيتها:
- إعادة تنظيم Middleware:
- يشرح المتحدث أن هناك تغييرات كبيرة في كيفية تنظيم Middleware في Laravel 11. تم إزالة العديد من ملفات Middleware من الدليل الافتراضي ودمجها مباشرة في الفريمورك.
- تعديلات في ملف
kernel.php
:
- يتطرق المتحدث إلى أن ملف
kernel.php
الذي كان يحتوي على تعريفات Middleware للروتس HTTP والكونسول، لم يعد موجودًا في المواقع المعتادة. وقد تم نقل هذه التعريفات إلى مواقع أخرى ضمن الفريمورك.
- جديد Middleware في الفريمورك:
- يوضح كيف تم تحسين استخدام Middleware بتبسيط الواجهة وتقليل الحاجة للتكوين اليدوي. النظام الجديد يسمح بتسجيل Middleware بطريقة أكثر مرونة.
- مثال على إعادة تنظيم Middleware:
- يقدم المتحدث مثالًا على كيفية إعادة تنظيم Middleware في
bootstrap/app.php
، حيث يمكن الآن إدارة Middleware من خلال هذا الملف بدلاً منkernel.php
.
$app->middleware([
App\Http\Middleware\CheckAge::class
]);
- تحديثات على تسجيل Middleware:
- يتم تسليط الضوء على التحديثات التي تمت على تسجيل Middleware في المشروع، مما يسهل على المطورين تخصيص الطلبات والاستجابات داخل التطبيق.
$app->routeMiddleware([
'auth' => App\Http\Middleware\Authenticate::class,
]);
هذه التغييرات تظهر كيف تم تحسين إدارة وتنظيم Middleware في Laravel 11، مما يعزز الفعالية ويقلل من التعقيد في إدارة مكونات Middleware داخل التطبيقات القائمة على Laravel.
في الفيديو الرابع من سلسلة فيديوهات Laravel 11، يركز المتحدث على تحديثات وتغييرات تتعلق بكيفية إدارة “Casting” لحقول البيانات في قاعدة البيانات باستخدام Eloquent، وهو ORM (Object-Relational Mapping) المستخدم في Laravel. إليك بعض النقاط الرئيسية التي تمت مناقشتها:
- تعريف Casting في Eloquent:
- يشرح المتحدث كيف يتيح Eloquent تحويل أنواع البيانات تلقائيًا بين قاعدة البيانات وموديلات Laravel. يُستخدم Casting لضمان أن البيانات يتم تقديمها بالصيغة الصحيحة والمتوقعة في التطبيق.
- التغييرات في كيفية تنفيذ Casting:
- يناقش التحديثات التي جرت على كيفية تنفيذ Casting، حيث أصبح الآن من الممكن تحديد طرق الـ Casting مباشرة ضمن الـ Model بشكل أكثر تفصيلاً ومرونة.
- أمثلة على Casting:
- يعرض كيف يمكن للمطورين تحديد Casts للتحكم بكيفية تخزين البيانات واسترجاعها، مثل تحويل التواريخ والمصفوفات وحتى الكائنات المعقدة.
protected $casts = [
'is_admin' => 'boolean',
'config' => 'array',
'created_at' => 'datetime:Y-m-d',
];
- تحديثات على Cast Types:
- يتم تقديم نوع جديد من الـ Cast يُسمى “Custom Casts”، حيث يمكن للمطورين الآن تحديد كيفية التعامل مع أنواع بيانات معينة عبر تعريفات مخصصة.
use App\Casts\Json;
protected $casts = [
'options' => Json::class,
];
- فوائد التغييرات الجديدة:
- يختتم المتحدث بمناقشة كيف تساهم هذه التحديثات في تسهيل الإدارة الأكثر كفاءة للبيانات داخل التطبيق، وتقليل الأخطاء المحتملة في معالجة البيانات وتحسين الأداء العام للتطبيق.
هذه التغييرات تُظهر التزام Laravel بتحسين وتسهيل العمل مع البيانات عبر ORM الخاص به، وتوفير مزيد من الخيارات والمرونة للمطورين لضمان معالجة البيانات بشكل صحيح.
في الفيديو الخامس من السلسلة، يتم تناول كيفية ترقية تطبيق من Laravel 10 إلى Laravel 11. هذه العملية مهمة للغاية لضمان استمرارية التطبيق واستفادته من أحدث الميزات والتحسينات الأمنية. إليك بعض الخطوات والإرشادات الرئيسية التي تم مناقشتها:
- النسخ الاحتياطي:
- قبل البدء بأي ترقيات، يُوصى بشدة بأخذ نسخة احتياطية كاملة للتطبيق وقاعدة البيانات. هذا يضمن أنه يمكنك العودة إلى النسخة الحالية في حالة حدوث أي مشكلات.
- تحديث ملف
composer.json
:
- يجب تحديث الإصدارات في ملف
composer.json
لتعكس الإصدارات الجديدة المطلوبة لLaravel 11.
"require": {
"php": "^7.3|^8.0",
"laravel/framework": "^11.0"
},
- تشغيل تحديث Composer:
- بعد تحديث ملف
composer.json
، يجب تشغيلcomposer update
لتحميل وتثبيت التحديثات. قد تحتاج إلى حل بعض التبعيات والتعارضات الخاصة بالحزم.
- مراجعة التغييرات الرئيسية:
- ينبغي مراجعة ملاحظات الإصدار لLaravel 11 لفهم التغييرات الرئيسية وكيف قد تؤثر على تطبيقك. تأكد من تعديل أي كود في تطبيقك قد يتأثر بتغييرات API أو بتغييرات الوظائف المهملة.
- اختبار التوافق:
- اختبر تطبيقك بعناية للتأكد من أن جميع وظائفه تعمل كما هو متوقع. يمكن استخدام اختبارات PHPUnit لتقييم التوافق وضمان عدم كسر الوظائف الحالية.
- تحديث التكوينات والبيئة:
- قد تتطلب بعض الإعدادات والملفات البيئية تحديثات لتتوافق مع الإصدار الجديد. يجب التحقق من إعدادات الملفات مثل
.env
وتكويناتconfig
لضمان التوافق.
- نشر التغييرات في البيئة الإنتاجية:
- بمجرد التأكد من أن التطبيق يعمل بشكل صحيح في بيئة التطوير، يمكن نشر التغييرات في البيئة الإنتاجية. تأكد من مراقبة التطبيق لرصد أي مشكلات قد تنشأ بعد الترقية.
من الأهمية بمكان أن يكون لديك خطة ترقية دقيقة وأن تتخذ الاحتياطات اللازمة للتخفيف من المخاطر خلال عملية الترقية.
في الفيديو، يتحدث المحاضر عن التغييرات الجديدة في إطار عمل Laravel 11، ومن بينها استخدام SQLite كقاعدة بيانات افتراضية للمشاريع الجديدة. هذا التغيير يعني أنه عند إنشاء مشروع جديد في Laravel 11، سيتم تكوين SQLite تلقائيًا كنظام لإدارة قواعد البيانات (DBMS)، بدلاً من استخدام MySQL أو أي DBMS آخر كافتراضي. هنا بعض التفاصيل الرئيسية التي ذكرها المحاضر:
- سهولة الإعداد:
- SQLite يوفر بيئة قاعدة بيانات سهلة الإعداد حيث لا تحتاج إلى تكوين خادم قاعدة بيانات منفصل، مما يسهل على المطورين البدء في استخدام Laravel.
- تطوير سريع:
- باستخدام SQLite، يمكن للمطورين تنفيذ الأمثلة والاختبارات بسرعة، مما يجعله مثاليًا للتطوير المحلي والتجريب.
- التكامل الافتراضي:
- يأتي SQLite مُكوّنًا بشكل افتراضي في Laravel 11، مما يعني أنه لا يتطلب من المستخدمين تنفيذ أية خطوات إضافية لإعداد قاعدة البيانات لتطبيقاتهم الجديدة.
- تبسيط عمليات التطوير:
- استخدام SQLite يقلل من التعقيد في إدارة قاعدة البيانات، خاصةً للمشاريع الصغيرة والمتوسطة أو أثناء المراحل الأولى من تطوير التطبيق.
المحاضر يشدد على أن هذا التغيير يهدف إلى تحسين كفاءة عملية التطوير وتقليل الحواجز أمام المطورين الجدد أو أولئك الذين يبحثون عن إعداد سريع وسهل لمشاريعهم.
في الفيديو، يناقش المحاضر بعض الإعدادات الجديدة التي تم تقديمها في Laravel 11 لتهيئة الاختبارات مع PHPUnit وPest. هذه الإعدادات تعزز إمكانيات الاختبار في الإطار وتوفر خيارات مرونة أكبر للمطورين. إليك بعض النقاط الرئيسية التي تم تغطيتها:
- دعم Pest الأصلي:
- Laravel 11 يقدم الآن دعمًا أصليًا لـ Pest، وهو إطار عمل للاختبار يُعد أكثر بساطة وتعبيرًا من PHPUnit. هذا يسمح للمطورين باختيار استخدام PHPUnit التقليدي أو التحول إلى Pest لكتابة اختبارات أكثر إيجازًا ووضوحًا.
- خيارات تهيئة الاختبارات:
- عند إنشاء مشروع Laravel 11 جديد باستخدام الأمر
laravel new
, يُقدم للمستخدمين خيار لتحديد إطار الاختبار الذي يفضلونه، سواء كان PHPUnit أو Pest.
- تبسيط عملية الإعداد:
- يتم تبسيط عملية إعداد الاختبارات، حيث يمكن للمستخدمين الآن بدء كتابة اختباراتهم بسرعة أكبر وبأقل جهد في التهيئة، مما يسهل على المطورين الجدد البدء في استخدام Laravel.
- التكامل مع البيئات وأدوات التطوير:
- يوضح المحاضر كيف يمكن لهذه الإعدادات الجديدة أن تتكامل بسلاسة مع بيئات التطوير المختلفة وأدوات CI/CD، مما يحسن من كفاءة عمليات تطوير البرمجيات وتقديمها.
المحاضر يؤكد على أن هذه التحسينات تهدف إلى جعل عملية كتابة وتنفيذ الاختبارات أكثر كفاءة وفعالية، مما يساعد المطورين على ضمان جودة أعلى لتطبيقاتهم من خلال اختبارات شاملة ومبسطة.
في الفيديو، يُناقش المحاضر التفاعلات الجديدة مع النظام الأساسي لـ Laravel والإضافات الجديدة على إعدادات PHP وNode التي جاء بها Laravel 11. هذه التحديثات تهدف إلى تحسين تجربة المطورين وتوفير المزيد من الأدوات والخيارات التي تتناسب مع الاحتياجات المعاصرة لتطوير تطبيقات الويب. إليك التفاصيل:
- تحسين تكامل Laravel مع PHP وNode:
- يشرح المحاضر كيف تم تحديث إعدادات PHP وNode لتعزيز الأداء والتوافق مع الأدوات الحديثة والمكتبات. يتضمن ذلك دعمًا أفضل لإصدارات PHP الأحدث وتحديثات لنظام Node التي تعزز من كفاءة معالجة المهام المتعلقة بجانب العميل.
- إضافات لدعم التطوير:
- يتم تقديم أدوات جديدة ومحسنة لدعم تطوير التطبيقات، مثل بيئات تطوير محلية أكثر قوة وأدوات لتسهيل تصميم واجهة المستخدم وتفاعلات العميل.
- تحسينات على إعدادات PHP:
- يناقش المحاضر التحديثات التي تمت على إعدادات PHP لتحسين الأداء والأمان. هذا يشمل تكوينات PHP المعززة للتعامل مع الجلسات، الكاش، والمزيد.
- توسيع دعم Node:
- تم تحديث الإعدادات الخاصة بNode لتسهيل إدارة الأصول والتعامل مع العمليات المعقدة مثل بناء واجهات المستخدم وتحسين أدوات البناء مثل Webpack.
- تسهيل الاندماج مع أدوات النظام الأساسي:
- يشير المحاضر إلى تحسينات تمت على الطريقة التي يمكن بها للمطورين دمج Laravel مع الأدوات الأخرى والخدمات السحابية، مما يجعل من السهل نشر وإدارة التطبيقات في بيئات مختلفة.
هذه التحديثات تظهر التزام Laravel بتقديم منصة قوية ومرنة للمطورين، تساعد على تسريع عملية التطوير وتعزز من قدرات النظام الأساسي في التعامل مع متطلبات التطبيقات الحديثة.
بالطبع، سأبدأ بكتابة سكربت الفيديو الأول باللغة العربية البيضاء، وسأقسمه إلى مواضيع كما طلبت. دعنا نبدأ بمقدمة الفيديو الأول والموضوع الأول:
الفيديو الأول: التعريف بـ Laravel 11 والتغييرات في الهيكلية الأساسية
المقدمة:
مرحباً بكم في سلسلة الفيديوهات التعليمية لإطار العمل Laravel 11. في هذه السلسلة، سنستعرض معاً الميزات الجديدة والتحديثات المهمة التي جاء بها هذا الإصدار الجديد. سنبدأ اليوم بالنظر في التحديثات الأساسية على الهيكلية وكيف يمكن لهذه التغييرات أن تؤثر على طريقة عملنا مع Laravel.
موضوع 1: تقديم Laravel 11
لارافل 11 ليس مجرد تحديث، بل هو تطوير شامل يقدم تحسينات كبيرة تلمس جوانب عديدة من الإطار البرمجي. من تحسين أداء التطبيقات إلى توفير أدوات جديدة تسهل من مهمة التطوير، كل هذا سنتناوله بالتفصيل في سلسلتنا هذه.
شكرًا لتجاوبك! دعنا ننتقل إلى الموضوع التالي في الفيديو الأول:
موضوع 2: التغييرات في الهيكلية الأساسية
مع Laravel 11، واجهنا بعض التغييرات الجوهرية في هيكلية الإطار البرمجي. هذه التغييرات ليست فقط لتحسين الأداء ولكن لجعل الإطار أكثر مرونة وسهولة في التعامل.
أولًا، تم تبسيط الهيكلية الأساسية للمشروع، حيث تم إزالة العديد من الملفات والمجلدات التي كانت موجودة في الإصدارات السابقة. هذه الخطوة تهدف إلى جعل بداية المشروع أسرع وأكثر فعالية من حيث الأداء.
ثانيًا، يتم الآن دمج الكثير من الوظائف مباشرة في مصادر الفريمورك نفسه، مما يعني أنك كمطور لست بحاجة للتعامل مع تعقيدات إدارة هذه الملفات بنفسك.
على سبيل المثال، تعديلات في ملفات الـ Middleware وكذلك في ملفات الـ Model يعكس التغييرات التي تمت:
// قديماً كانت هناك ملفات Kernel متعددة لكل من الـ HTTP والـ Console
// في Laravel 11, تم دمج هذه الملفات وتبسيطها
تتيح هذه التغييرات للمطورين التركيز أكثر على كتابة الكود الخاص بالمنطق التجاري بدلاً من القلق حول تنظيم الملفات وإدارتها.
شكرًا لاستمرارك! دعنا ننتقل إلى الموضوع التالي في الفيديو الأول:
موضوع 3: كيفية إنشاء مشروع جديد في Laravel 11
إنشاء مشروع جديد في Laravel 11 أصبح أكثر سهولة بفضل الأدوات المحسنة والإجراءات المبسطة. سنتناول هنا الخطوات الأساسية لبدء مشروع جديد باستخدام الإصدار الأحدث من Laravel.
- تثبيت Laravel:
- لتثبيت Laravel 11، يمكن استخدام الأمر التالي في الـ terminal:
composer create-project --prefer-dist laravel/laravel blog
- هذا الأمر يقوم بإنشاء مشروع جديد بأحدث إصدار من Laravel بالاسم ‘blog’.
- التحقق من الإعدادات:
- بمجرد تثبيت Laravel، من المهم التحقق من الإعدادات الافتراضية وتحديثها حسب الحاجة. هذا يشمل الاتصال بقاعدة البيانات، إعدادات البريد الإلكتروني، وغيرها من الخدمات الأساسية.
- استخدام الأوامر Artisan:
- Laravel يوفر واجهة سطر الأوامر Artisan التي تساعد في إدارة المشروع. يمكنك استخدام الأوامر مثل:
php artisan serve
- هذا الأمر يقوم بتشغيل خادم تطوير محلي لتتمكن من الوصول إلى تطبيقك بسهولة عبر المتصفح.
- استكشاف الهيكل الجديد:
- قم بالتعرف على الهيكل الجديد للمشروع في Laravel 11 لتتمكن من تنظيم ملفاتك وكودك بشكل أفضل. يشمل ذلك التعرف على أماكن جديدة للـ Models، Controllers، و Views.
بهذه الخطوات، يمكنك بدء مشروع جديد بكفاءة وفعالية، مستفيدًا من كل الأدوات والميزات التي يوفرها Laravel 11.
شكرًا لتابعتك! دعنا ننتقل إلى الفيديو الثاني ونبدأ بموضوعه الأول:
الفيديو الثاني: أوامر Artisan الجديدة والتعديلات على الأوامر القائمة
مقدمة:
مرحباً بكم مجدداً في الفيديو الثاني من سلسلتنا حول Laravel 11. في هذا الفيديو، سنركز على التحديثات والإضافات الجديدة لأوامر Artisan التي تعد جزءاً لا يتجزأ من تجربة Laravel. Artisan هي واجهة سطر الأوامر لـ Laravel وهي أداة قوية تساعد المطورين على إدارة وبناء تطبيقاتهم بكفاءة.
موضوع 1: الأوامر الجديدة في Artisan
في Laravel 11، تم إضافة مجموعة من الأوامر الجديدة إلى Artisan لتعزيز قدرات المطورين وتسهيل إدارة التطبيقات. هذه الأوامر تشمل:
- أمر لتسريع العمليات:
يمكن استخدام أمر جديد لتسريع ترحيل البيانات أو تسريع عمليات معينة ضمن التطبيق.
php artisan optimize
هذا الأمر يقوم بتحسين تحميل التطبيق وأدائه بضغط بعض العمليات وكاش الإعدادات.
- تعزيز التكامل مع البيئات السحابية:
تم إضافة أوامر لتسهيل نشر وإدارة التطبيقات في البيئات السحابية.
php artisan cloud:deploy
هذا الأمر يسمح بتحميل التطبيق وإعداده بسهولة على منصات الاستضافة السحابية.
- دعم محسن لاختبارات التطبيق:
أوامر جديدة لتشغيل وإدارة اختبارات الوحدات والوظائف بكفاءة أكبر.
php artisan test:run
يوفر هذا الأمر خيارات متقدمة لتشغيل اختبارات PHPUnit أو Pest بناءً على الاحتياجات الخاصة.
هذه الأوامر الجديدة تفتح أبواباً جديدة للمطورين لتحسين تطوير وإدارة تطبيقاتهم باستخدام Laravel، مما يجعل العمل أكثر فعالية وكفاءة.
شكرًا لاستمرارك! دعنا نواصل مع الموضوع الثاني في الفيديو الثاني:
موضوع 2: التعديلات على الأوامر القائمة في Artisan
في Laravel 11، لم تقتصر التحديثات على إضافة أوامر جديدة فحسب، بل شملت أيضًا تعديلات مهمة على الأوامر القائمة لزيادة فعاليتها وتوسيع نطاق استخدامها. إليك بعض التعديلات البارزة:
- تحسين أمر ترحيل البيانات (
migrate
):
تم تحسين الأمر php artisan migrate
بإضافة خيارات جديدة تسمح بالتحكم الأكبر في كيفية وتوقيت ترحيل الجداول والبيانات.
php artisan migrate --plan
يوفر هذا الخيار معاينة لعمليات الترحيل التي ستتم قبل تنفيذها، مما يعطي المطورين فرصة للتأكد من العمليات قبل تطبيقها فعليًا.
- توسيع قدرات أمر الإنشاء (
make
):
أوامر make
مثل php artisan make:controller
و php artisan make:model
تم تحديثها لتشمل خيارات جديدة تسهل تخصيص السلوكيات والخصائص المطلوبة.
php artisan make:model Product --all
خيار --all
يُنشئ جميع الملفات المرتبطة بالموديل مثل الكونترولر، المهاجرات، واختبارات الوحدة، مما يسرع من عملية التطوير.
- تعزيز دعم الأوامر للأداء والتوافق:
تم إدخال تحسينات على أداء الأوامر وتوافقها مع بيئات التطوير المختلفة لضمان تجربة مستخدم متسقة وسريعة.
php artisan optimize:clear
هذا الأمر يساعد في إزالة كافة كاش التطبيق وإعادة تحميل الإعدادات لتحسين الأداء.
هذه التحديثات تعكس التزام Laravel بتحسين تجربة المطورين وتوفير أدوات قوية تساعد على بناء تطبيقات أكثر تعقيدًا وفعالية.
شكرًا لاستمرارك! الآن، دعونا ننتقل إلى الفيديو الثالث في هذه السلسلة التعليمية.
الفيديو الثالث: تغييرات في Middleware
مقدمة:
أهلاً بكم في الفيديو الثالث من سلسلتنا عن Laravel 11. في هذا الفيديو، سنركز على التغييرات التي طرأت على Middleware، وهي جزء حيوي في كيفية معالجة الطلبات داخل تطبيقات Laravel. سنتعمق في كيفية إدارة واستخدام Middleware بالطرق الجديدة التي يقدمها Laravel 11.
موضوع 1: تغييرات في إدارة Middleware
Laravel 11 جلب معه تغييرات جوهرية في كيفية تنظيم وإدارة Middleware. هذه التغييرات تهدف إلى تسهيل التطوير وتعزيز المرونة في التعامل مع الطلبات والاستجابات داخل التطبيق.
- إعادة تنظيم Middleware:
- تم إزالة ملف
Kernel.php
الذي كان يعد المكان التقليدي لتسجيل Middleware. الآن، يتم التعامل مع Middleware بطريقة مبسطة وأكثر مرونة. - Middleware الآن يمكن أن يُدار بشكل مباشر من داخل ملفات تكوين محددة أو عبر البرمجة داخل الكلاسات نفسها.
- تبسيط تسجيل Middleware:
- يمكن الآن تسجيل Middleware بشكل أكثر سهولة باستخدام الأمر
middleware
داخل ملفات الروتينج أو الكونترولرز، مما يجعل التحكم في تدفق الطلبات والاستجابات أكثر مرونة.
Route::middleware(['auth'])->group(function () {
Route::get('/profile', function () {
// استخدام Middleware 'auth'
});
});
- تعديلات على الوظائف الحالية لMiddleware:
- بالإضافة إلى إدخال طرق جديدة لتسجيل Middleware، تم أيضًا تحسين الوظائف الحالية لتوفير أداء أفضل وتكامل أسهل مع ميزات Laravel الأخرى.
هذه التغييرات تعكس التزام Laravel بتقديم أدوات قوية ومرنة للمطورين، مما يساعد على تحسين الأمان والفعالية في التعامل مع الطلبات داخل التطبيقات.
شكرًا لتابعتك! دعنا نستكمل الفيديو الثالث من السلسلة حول تغييرات في Middleware.
موضوع 2: تحديثات على استخدام Middleware في Laravel 11
في Laravel 11، لا تقتصر التحديثات على تنظيم Middleware فحسب، بل تمتد أيضًا إلى كيفية استخدامها بشكل عملي داخل التطبيق. هذه الجوانب تشمل:
- Middleware للأداء والتحكم في الوصول:
- تم تعزيز Middleware لتقديم وظائف متقدمة في مجال تحسين الأداء والتحكم في الوصول، مما يسمح بإدارة دقيقة وفعالة للطلبات والاستجابات.
public function handle($request, Closure $next)
{
if ($request->ip() == '123.456.789.000') {
return $next($request);
}
return response('Unauthorized.', 401);
}
- هذا المثال يوضح كيف يمكن استخدام Middleware لتقييد الوصول بناءً على عنوان IP.
- تعديل Middleware لتحسين الأمان:
- يتم تحديث Middleware المتعلق بالأمان لتوفير حماية أفضل ضد الهجمات وضمان معالجة آمنة للبيانات الحساسة.
public function handle($request, Closure $next)
{
$response = $next($request);
$response->header('X-Frame-Options', 'DENY');
return $response;
}
- هذا المثال يظهر كيف يمكن لMiddleware تعزيز الأمان بإضافة رؤوس HTTP الأمنية إلى الاستجابات.
- تكامل Middleware مع خدمات الكاش والتخزين المؤقت:
- تم تحسين Middleware للتكامل الفعّال مع خدمات الكاش والتخزين المؤقت، مما يسرع من تحميل الصفحات ويحسن الأداء العام للتطبيق.
public function handle($request, Closure $next)
{
$key = 'route-name' . $request->getRequestUri();
if (cache()->has($key)) {
return cache()->get($key);
}
$response = $next($request);
cache()->put($key, $response, now()->addMinutes(10));
return $response;
}
- يستخدم هذا النموذج لإظهار كيف يمكن تخزين الاستجابات في الكاش لتقليل زمن الاستجابة.
هذه التحديثات تجعل Middleware أداة أكثر قوة ومرونة في Laravel 11، مما يتيح للمطورين التحكم الكامل في كيفية معالجة وتأمين الطلبات داخل تطبيقاتهم.
شكرًا لاستمرارك! الآن، دعونا ننتقل إلى الفيديو الرابع في هذه السلسلة التعليمية.
الفيديو الرابع: Casting في Eloquent
مقدمة:
مرحباً مجدداً في سلسلة فيديوهاتنا حول Laravel 11. في هذا الفيديو، سنركز على الميزات الجديدة في إطار العمل المتعلقة بـ Casting في Eloquent. Casting هو عملية تحويل البيانات من وإلى قاعدة البيانات لضمان مطابقتها للنوع المتوقع في التطبيق. في Laravel 11، تم تقديم تحسينات وميزات جديدة لجعل هذه العملية أكثر سهولة وفعالية.
موضوع 1: تحديثات على Casting في Eloquent
Laravel 11 يجلب معه توسعات مهمة في كيفية التعامل مع الـ Casting، مما يسمح بمرونة أكبر وتحكم أفضل في معالجة البيانات.
- تعزيز الـ Casting الأساسي:
- تم تحديث الـ Casting المتوفر بشكل افتراضي في Eloquent ليشمل أنواع بيانات جديدة مثل البيانات المشفرة والمصفوفات المتعددة.
protected $casts = [
'is_active' => 'boolean',
'launch_date' => 'datetime:Y-m-d',
'settings' => 'array',
'secret' => 'encrypted'
];
- هذه التحديثات تساعد على إدارة البيانات بطريقة أكثر دقة وأمان، خاصة بالنسبة للبيانات الحساسة.
- إدخال Custom Casts:
- Laravel 11 يتيح الآن إمكانية إنشاء Custom Casts، مما يعطي المطورين القدرة على تحديد سلوكيات خاصة للـ Casting.
use App\Casts\CustomDate;
protected $casts = [
'event_date' => CustomDate::class
];
- Custom Casts تسمح بتطبيق منطق مخصص على البيانات أثناء تحويلها من وإلى قاعدة البيانات، مما يفتح مجالات واسعة لتخصيص كيفية التعامل مع البيانات.
- أمثلة عملية على استخدام الـ Casting:
- يمكن استخدام الـ Casting لضمان الأمان والكفاءة في التعامل مع البيانات، خصوصاً عند التعامل مع تنسيقات بيانات معقدة مثل JSON أو XML.
protected $casts = [
'metadata' => 'json'
];
هذه التحديثات تمكن المطورين من تحسين معالجة البيانات داخل تطبيقاتهم، مما يضمن سلامة البيانات ويسهل من عمليات التحقق والتوثيق.
شكرًا لاستمرارك! الآن، دعونا ننتقل إلى الفيديو الخامس في هذه السلسلة التعليمية.
الفيديو الخامس: ترقية من Laravel 10 إلى Laravel 11
مقدمة:
مرحباً مجدداً في الفيديو الخامس والأخير من سلسلتنا حول Laravel 11. في هذا الفيديو، سنتناول كيفية ترقية تطبيقك من Laravel 10 إلى Laravel 11. الترقية إلى أحدث إصدار تضمن لك الاستفادة من أحدث الميزات والتحسينات الأمنية والأداء.
موضوع 1: خطوات ترقية التطبيق
ترقية تطبيق Laravel يمكن أن تكون مهمة حساسة تتطلب تخطيطاً واهتماماً بالتفاصيل. سنراجع الخطوات الرئيسية لتحقيق هذا بنجاح.
- النسخ الاحتياطي:
- قبل البدء بأي ترقية، من الضروري أخذ نسخة احتياطية كاملة للتطبيق وقاعدة البيانات. هذا يضمن أن لديك نقطة استعادة في حالة حدوث أي مشاكل.
php artisan backup:run
- تحديث ملف
composer.json
:
- تعديل ملف
composer.json
لتحديث النسخة المطلوبة من Laravel وأي حزم أخرى متوافقة مع Laravel 11.
"require": {
"laravel/framework": "^11.0"
},
- تنفيذ التحديث:
- تشغيل
composer update
لتحميل التحديثات وتثبيتها. خلال هذه العملية، يجب الانتباه إلى أي تعارضات بين الحزم أو متطلبات النظام.
composer update
- اختبار التوافق:
- اختبار التطبيق بشكل مكثف للتأكد من أن جميع الوظائف تعمل كما هو متوقع. يمكن استخدام PHPUnit أو أدوات اختبار أخرى للتأكد من سلامة التطبيق.
php artisan test
- نشر التغييرات:
- بمجرد التأكد من استقرار التطبيق وأدائه بشكل جيد، يمكن نشر التحديثات في البيئة الإنتاجية.
ترقية تطبيق Laravel إلى الإصدار 11 تقدم لك الفرصة لاستغلال أحدث التقنيات وأفضل الممارسات في تطوير تطبيقات الويب.
شكرًا لمتابعتك! دعونا نختتم هذه السلسلة بنظرة عامة وبعض التوصيات النهائية.
خاتمة السلسلة التعليمية حول Laravel 11
الخلاصة:
لقد استعرضنا خلال هذه السلسلة من الفيديوهات التحديثات والميزات الجديدة في Laravel 11، بدءًا من التغييرات في الهيكلية الأساسية ومرورًا بالأوامر الجديدة في Artisan وتغييرات في Middleware، وصولًا إلى تعزيزات في Eloquent Casting والخطوات اللازمة لترقية تطبيقك إلى Laravel 11. نأمل أن تكون هذه السلسلة قد وفرت لك المعلومات الضرورية لفهم واستغلال هذه التحديثات بشكل فعال.
توصيات للمطورين:
- استمر في التعلم والتجريب:
- Laravel مستمر في التطور وتقديم ميزات جديدة. الاستمرار في التعلم وتجريب هذه الميزات يمكن أن يعزز من مهاراتك ويجعل تطبيقاتك أكثر فعالية وأمانًا.
- انخرط في المجتمع:
- المجتمع المحيط بـ Laravel كبير ومتعاون. المشاركة في المنتديات، وحضور الورش، والمساهمة في المشاريع المفتوحة المصدر يمكن أن يوفر فرصًا للتعلم والتواصل.
- راقب الأداء والأمان:
- بينما تقوم بترقية وتطوير تطبيقاتك، من المهم دائمًا الحفاظ على الأداء العالي وتأمين تطبيقاتك ضد الهجمات المحتملة.
الختام:
شكرًا لمتابعتكم سلسلة فيديوهات Laravel 11. نأمل أن تكونوا قد استفدتم من هذه السلسلة وأن تكونوا مستعدين الآن لاستخدام كل الإمكانيات التي يقدمها Laravel 11. لا تترددوا في طرح أي أسئلة أو مشاركة تجاربكم مع هذا الإصدار الجديد.
نود أن نسمع منكم ونتبادل الخبرات في هذا المجال الواسع والمثير. سنلقاكم في سلسلة جديدة أو فيديوهات قادمة تتناول أعماق التكنولوجيا والبرمجة. دمتم بخير وسعادة في تطوير تطبيقاتكم!