8 ميزات تطوير ويب قوية جديدة في Laravel 8

Laravel هو أكثر أطر PHP شيوعًا ، مع أكثر من 1.2 مليون موقع ويب مبني عليه. منذ إطلاقه في يونيو 2011 ، جذب Laravel انتباه العديد من مطوري الويب ، حيث قدم نفسه على أنه أكثر إطار عمل PHP استخدامًا.

يوفر Laravel بيئة تطوير سريعة وأمانًا وأدلة جيدة للمطورين. واصل Laravel ، الذي أنشأه وصيانته منشئه Taylor Otwell ، إجراء تحسينات على برامجه. يتبع مخطط إصدار دلالي وهو حاليًا في الإصدار 8.x.

فيما يلي ثماني ميزات جديدة للبحث عنها في Laravel 8.

1. Laravel Jetstream

هذه هي ميزة سقالات التطبيق الجديدة في Laravel . يأتي مزودًا بميزات خارج الصندوق مثل تتبع الجلسة وتسجيل الدخول والتسجيل والتحقق من البريد الإلكتروني والمصادقة ذات العاملين وإدارة الفريق الاختيارية.

تقدم Jetstream خيارين من خيارات السقالات: Livewire و Inertia.

Livewire هي مكتبة ديناميكية سريعة الاستجابة توفر القدرة على تجنب استخدام إطار عمل JavaScript مثل Vue.js. يستخدم لغة النمذجة الافتراضية Blade. يوفر Livewire أيضًا المرونة للاختيار بين ترك Blade أو استخدام Vue.js.

يستخدم Inertia Vue.js كلغة نموذجية.

قراءة المزيد: ما هو Vue.js؟

إنه يمنح القوة الكاملة لـ Vue.js دون الحاجة إلى التوجيه من جانب العميل. إذا كانت Vue هي لغة النمذجة المفضلة لديك ، فإن مكدس Inertia يعد اختيارًا جيدًا.

2. الهجرة الاسكواش

أثناء تطوير تطبيقك ، قد تتراكم عمليات الترحيل الخاصة بك. يمكنك "سحقها" في ملف SQL واحد لتجنب القعقعة. هذا الخيار متاح لمستخدمي MySQL أو PostgreSQL.

سيُنشئ Laravel ملف مخطط عند تنفيذ مخطط الأوامر : dump . عندما تحاول ترحيل قاعدة البيانات الخاصة بك ، سيقوم Laravel أولاً بترحيل ملف SQL المرتبط بمخططك. بعد ذلك ، إذا كانت هناك أي عمليات ترحيل لم تكن جزءًا من المخطط ، فسيتم تنفيذها بعد ذلك.

3. Tailwind CSS

يستخدم Laravel الآن إطار عمل Tailwind CSS باعتباره ترقيم الصفحات الافتراضي. Tailwind هي مكتبة أولية لأدوات CSS توفر فئات CSS للاستخدام الفردي. يوفر ميزة الحصول على معلومات التصميم الخاصة بك في مكان واحد بدلاً من تناثرها. يمكنك تطبيق الفئات المحددة مسبقًا مباشرة على مستند HTML الخاص بك.

توفر Tailwind أيضًا القدرة على إنشاء تصميمات سريعة الاستجابة. يقدم نظامًا محمولًا أولًا مشابهًا لنظام Bootstrap. هذا يعني أن الأدوات المساعدة غير مسبوقة تستجيب لجميع أحجام الشاشات بينما تدخل الأدوات المساعدة مسبقة حيز التنفيذ في نقاط معينة.

تتميز أداة Tailwind أيضًا بتمكين وضع الوقت المناسب لإنشاء أنماطك عند الطلب بدلاً من عرض كل شيء في وقت الإنشاء الأولي. هذا يجعله أسرع من استخدام CSS العادي. ميزة أخرى يقدمها هذا هو أنك لست بحاجة إلى التخلص من أنماط الإنتاج غير المستخدمة ، مما يمنحك القدرة على استخدام الكود الخاص بك في بيئات متعددة.

من المثير للاهتمام أيضًا ملاحظة أن Laravel Jetstream تم إنشاؤه باستخدام Tailwind.

4. توزيع الوظائف

يمكنك استخدام هذه الميزة لتشغيل مجموعة من الوظائف في وقت معين وتنفيذ إجراء (إجراءات) معين عند اكتمال تنفيذها. توفر واجهة Bus طريقة دفعية تتيح لك إرسال الوظائف.

يمكنك القيام بذلك جنبًا إلى جنب مع عمليات استرجاع أخرى للإكمال مثل catch ، ثم وأخيراً لإضافة وظائف إلى وظائفك.

 use AppJobsProcessPodcast;
use AppPodcast;
use IlluminateBusBatch;
use IlluminateSupportFacadesBus;
use Throwable;
$batch = Bus::batch([
new ProcessPodcast(Podcast::find(1)),
new ProcessPodcast(Podcast::find(2)),
new ProcessPodcast(Podcast::find(3)),
new ProcessPodcast(Podcast::find(4)),
new ProcessPodcast(Podcast::find(5)),
])->then(function (Batch $batch) {
// All jobs completed successfully...
})->catch(function (Batch $batch, Throwable $e) {
// First batch job failure detected...
})->finally(function (Batch $batch) {
// The batch has finished executing...
})->dispatch();
return $batch->id;

للبدء ، تحتاج إلى إنشاء جدول ترحيل يحتوي على بيانات تعريف الوظيفة مثل معدلات الإكمال. استخدم الأمر php artisan queue: batches-table للقيام بذلك. ومن ثم يهاجر الحرفي php لترحيلهم . يمكنك الآن تحديد مهامك القابلة للدفع ثم إرسالها بعد ذلك عندما تكون جاهزًا.

5. فئات المصنع النموذجي

أولاً ، دعنا نناقش المصانع النموذجية. يتم استخدامها لبذر قواعد البيانات الخاصة بك ببيانات الاختبار. هذه البيانات المزيفة مهمة لأغراض الاختبار قبل إدخال أي بيانات مستخدم حقيقية.

في Laravel 8 ، تم استبدال فئات نماذج Eloquent السابقة بالكامل بمصانع قائمة على أساس الطبقة. باستخدام هذا ، يمكنك الآن إدارة حالات الكائن ببساطة باستخدام الطرق. تستدعي هذه الطرق عادةً طريقة الحالة () ، والتي تُعطى في فئة مصنع قاعدة Laravel. تأخذ طريقة state () كوسيطة دالة تأخذ في مجموعة من السمات المخصصة للمصنع.

6. تحسين الصيانة

في السابق ، كان Laravel يعرض قائمة السماح بعناوين IP التي يمكنك استخدامها للوصول إلى التطبيق في وضع الصيانة. تمت إزالة هذا واستبداله بحل "سري" أبسط. يمكنك تحديد رمز التجاوز باستخدام الخيار السري .

أثناء وجودك في وضع الصيانة ، يمكنك الوصول إلى عنوان URL للتطبيق الخاص بك وسيقوم Laravel تلقائيًا بتمرير ملف تعريف الارتباط الجانبي إلى متصفحك. بمجرد إصدار ملف تعريف الارتباط ، ستتمكن من الوصول إلى التطبيق بشكل طبيعي كما لو لم يكن في وضع الصيانة.

المستخدمون قد تواجه أخطاء إذا كنت تستخدم أسفل PHP الحرفيين أثناء النشر. لتجنب ذلك ، يوفر Laravel خيار عرض وضع الصيانة الذي سيتم إرجاعه كلما تم تقديم طلب. يمكنك تقديم قالب مسبقًا باستخدام خيار التقديم الموجود في الأمر down.

7. مساعدي اختبار الوقت

يتضمن Laravel الآن القدرة على تمكينك من معالجة الوقت الحالي. لديك خيار استخدام سمات الوقت الخاصة بك مثل المللي ثانية والساعات والأيام وما إلى ذلك.

 public function testTimeCanBeManipulated()
{
// Travel into the future...
$this->travel(5)->milliseconds();
$this->travel(5)->seconds();
$this->travel(5)->minutes();
$this->travel(5)->hours();
$this->travel(5)->days();
$this->travel(5)->weeks();
$this->travel(5)->years();
// Travel into the past...
$this->travel(-5)->hours();
// Travel to an explicit time...
$this->travelTo(now()->subHours(6));
// Return back to the present time...
$this->travelBack();
}

تجعل هذه الوظائف المساعدة عملك أنيقًا وسهل المتابعة من خلال إعطاء أسماء وصفية للطرق.

8. تحسين معدل الحد

يسمح لك تحديد المعدل بإدارة مقدار حركة المرور التي تتلقاها على مسار معين أو مجموعة من المسارات. يمكن تحقيق ذلك باستخدام برمجيات الخانق الوسيطة . تأخذ البرمجيات الوسيطة الخانق اسم محدد المعدل الذي تريد استخدامه في المسار. يتم إرجاع رمز طلب HTTP (429) إذا تجاوز الطلب الوارد حد معدل معين.

في Laravel 8 ، تم بناء محدد المعدل بمزيد من المرونة مع استمرار التوافق مع الإصدارات السابقة. تتيح لك وظيفة رد الاتصال لمحدِّد المعدل إنشاء حدود معدل مناسبة بشكل ديناميكي تم وضعها على المستخدمين المصادق عليهم أو الطلبات الواردة.

أوقات مثيرة في انتظار Laravel

من السهل تعلم Laravel ويوفر دليل مطور معقدًا بأمثلة سهلة المتابعة. يوفر إصلاحات الأخطاء والتصحيحات على أساس أسبوعي تقريبًا وإصدارات رئيسية سنويًا (حوالي سبتمبر). إذا كنت بحاجة إلى مزيد من المساعدة ، يوفر Laravel منصة Laracasts حيث يمكنك الحصول على مساعدة الخبراء. توفر المنصة دروسًا مدفوعة لتطوير الويب.

بالنسبة لمطور الويب ، يعد Laravel مهارة لا غنى عنها. إنه مفتوح المصدر ومجاني للاستخدام ويضم مجتمعًا يضم أكثر من 40000 مستخدم. إنها تقنية تستحق المتابعة.