راجع 5.8 ميزات Laravel الجديدة المثيرة
نشرت: 2022-01-02يعد Laravel ، وهو إطار عمل PHP متميز تم إنشاؤه بواسطة Taylor Otwell في عام 2011 ، هو الأفضل بين جميع أطر PHP. إنه سهل الوصول وقوي وقوي وينسج بعض التطبيقات المذهلة.
يسهل إطار عمل PHP هذا للمطورين تنفيذ نمط MVC الذي يجرد الوظائف المعقدة. التحديثات ضرورية وهي فقط لتحسين دورة حياة التطبيق.
يُصدر Laravel تحديثًا تقريبًا كل 5-6 أشهر وهذا العام أيضًا ، أصدر Laravel الإصدار 5.8 (March'19) وهو غير متوفر للاستخدام. يمكنك استئجار مطور Laravel لإنجاز المهمة في أقرب وقت ممكن.
جلب التحسين المستمر من الإصدارات السابقة بعض الميزات المثيرة للمطورين. دعنا نلقي نظرة خاطفة على بعض الميزات الرائعة التي سيقدمها هذا الإصدار الجديد
- حل السياسة المؤتمت
- دعم الكربون 2.0
- له علاقات Eloquent أحادية
- رمز الحراسة والتجزئة
- ذاكرة التخزين المؤقت TTL
- تكوين المنطقة الزمنية للمجدول
- الحرفي :: تحسينات الاتصال
- طرق المساعدة في اختبار الوهم / التجسس
- الحرفي يخدم التحسينات
- طريقة بليغة من الدرجة العالية
- dotenv 3.0.0 تحديث
- قوالب معالجة الأخطاء الجديدة
حل السياسة المؤتمت:
كان لإصدارات Laravel السابقة نماذج أو سياسات في مواقع غير تقليدية وكان لابد من تسجيلها في فئة AuthServiceProvider. في هذا الإصدار ، سيتم تخزين النماذج والسياسات في المواقع التقليدية.
لم تعد مضطرًا إلى التسجيل يدويًا لسياسة التفويض الخاصة بالنموذج. سيكتشف هذا الإصدار الجديد السياسات تلقائيًا باتباع اصطلاحات تسمية Laravel القياسية.
إذا كانت السياسات التي تريد تسجيلها موجودة في مكان آخر ، فقم بتسجيل مكالمة مرة أخرى باستخدام
البوابة :: guessPolicyNamesUsing .
يمكنك استدعاء هذه الطريقة من طريقة الكابينة الخاصة بـ AuthServiceProvider بالطريقة التالية:
استخدام المنور \ الدعم \ الواجهات \ البوابة ؛
البوابة :: guessPolicyNamesUsing (function ($ modelClass) {
// إرجاع اسم فئة السياسة ...
}) ؛
دعم الكربون 2.0:
بشرى سارة للمطورين ، يمكنك الآن جعل تطبيقك يستخدم CarbonImmutable كإعداد افتراضي.
تعمل هذه الحزمة على توسيع فئة التاريخ والوقت الخاصة بـ PHP وتجعل العمل مع التاريخ والوقت أمرًا سهلاً للغاية. اختيار الفئة يعتمد على المستخدم.
علاقة HasOneThrough Eloquent:
هذه الميزة الجديدة مشابهة تقريبًا لتلك التي تقدمها ريلز. لنأخذ مثالاً ، لنفترض أن لدينا ثلاثة نماذج ، نموذج المورد والحساب وتاريخ الحساب. بكلمات بسيطة ، المورد لديه حساب والحساب له سجل حساب واحد.
في الإصدارات السابقة ، للحصول على سجل الحساب الذي اعتدنا أن نكتبه: $ مورد-> حساب-> accountHistory. لكن الآن من خلال هذه العلاقة البليغة ، ستكتب على الفور
$ history = مورد $-> حساب التاريخ
في نموذج الحساب بالكامل.
حساب الوظيفة العامة
{
إرجاع $ this-> hasOneThrough (AccountHistory :: class، Account :: class)؛
}
تجزئة الرمز المميز للحارس:
باستخدام ميزة token guard ، يمكنك الآن حفظ الرموز المميزة لواجهة برمجة التطبيقات على هيئة تجزئات SHA-256. في وقت سابق ، تم تخزين الرمز المميز لواجهة برمجة التطبيقات كرموز مميزة للنص العادي والتي تم تحسينها الآن. وقد أدى ذلك إلى تعزيز الأمن وتخزين الرموز المميزة التي تم إنشاؤها.
ذاكرة التخزين المؤقت TTL:
تم الآن تغيير إعداد التخزين المؤقت من الدقائق إلى ثوان. يتم إجراء هذا التحسين من أجل تحكم أكثر دقة وحبيبات في وقت انتهاء الصلاحية. تتوافق الميزة مع معيار مكتبة التخزين المؤقت PSR-16.
علاوة على ذلك ، تذكر دائمًا تحديث ذاكرة التخزين المؤقت للتطبيق إلى ثوانٍ.
// Laravel 5.7 - تخزين العنصر لمدة 5 دقائق ...
التخزين المؤقت :: put ('foo'، 'bar'، 10)؛
// Laravel 5.8 - تخزين العنصر لمدة 5 ثوانٍ ...
التخزين المؤقت :: put ('foo'، 'bar'، 10)؛
تكوين المنطقة الزمنية للمجدول:
يتيح لك هذا الإصدار الجديد من Laravel تخصيص المنطقة الزمنية لمهمة مدرجة باستخدام طريقة المنطقة الزمنية.

$ Schedule-> الأمر ('run')
-> يوميا ()
-> عند ('15: 00 ')
-> المنطقة الزمنية ("أمريكا / شيكاغو") ؛
تم اعتبار هذه مهمة صعبة في الإصدار السابق حيث كان عليك القيام بها لكل مهمة مجدولة. ولكن مع هذا ، عليك الآن فقط تحديد طريقة تسمى ScheduleTimezone في ملف app / Console / Kernel.php.
سيتم بعد ذلك إرفاق التغييرات بكل مجدول في القائمة.
/ **
* احصل على المنطقة الزمنية التي يجب استخدامها بشكل افتراضي للأحداث المجدولة.
*
*return \ DateTimeZone | سلسلة | خالية
* /
جدول الوظائف المحمية
{
عودة "أمريكا / شيكاغو" ؛
}
تحسينات الاتصال الحرفي:
يمكنك عمل أمر Artisan باستخدام طريقة Artisan :: call في هذا الإصدار الجديد. يمكن الآن تمرير الأوامر كمصفوفة في سلسلة واحدة كما هو موضح أدناه:
Artisan :: call ('migrate: install --database = foo')؛الحرفي يخدم التحسينات:
كانت الإصدارات السابقة تحتوي على المنفذ الافتراضي المعين في 8000 والذي سيتم تشغيل التطبيق عليه. وإذا كان هناك أي أمر آخر يعمل على هذا المنفذ ، فمن المحتمل أن يفشل في خدمة الأمر الجديد.
الإصدار الجديد سوف يفحص المنفذ حتى 8009 مما يسمح للمطورين بتشغيل تطبيقات متعددة في نفس الوقت.
طرق المساعد في اختبار الوهم / التجسس:
سيساعد الاختبار الوهمي المطور فقط في جعل الشفرة أكثر وضوحًا وقابلة للقراءة. تمت إضافة التابعين mock و spy إلى فئة حالة اختبار Laravel الأساسية. ستعمل هذه الطريقة على ربط الفصل تلقائيًا بالسخرية من الحاوية.
اختبار الوظيفة العامة
{
$ this-> mock (TransactionService :: class، function ($ mock) {
$ mock-> shouldReceive ('find') -> مرة واحدة () -> مع (1) -> andReturn (['id' => 1، 'name' => 'foo'])
}) ؛
}
ترتيب أعلى أو طريقة بليغة:
في الإصدارات السابقة ، كنا نحدد الاستعلام المحدد النطاق باستخدام "أو" في عمليات رد نداء الإغلاق. من خلال تقديم أسلوب orWhere "ذي الترتيب الأعلى" ، يمكنك بسهولة إجراء سلسلة من استعلامات النطاق هذه بشكل جماعي دون استخدام عمليات الإغلاق. فمثلا:
المستخدمون $ = التطبيق \ المستخدم :: emailVerified () -> أو حيث-> نشط () -> get () ؛
دوتنف 3.0:
لإدارة ملف .env الجديد الخاص بمشروعك ، سيدعم Laravel 5.8 الإصدار الجديد من dotenv 3.0. يدعم هذا dotenv 3.0 الجديد سلاسل متعددة الأسطر ومساحة بيضاء في نهاية السلاسل. ستكون هذه الميزة ذات فائدة كبيرة حيث تكون مفاتيح API متعددة الأسطر مطلوبة للأمان.
قوالب صفحة خطأ جديدة:
يتم تقديم صفحات خطأ جديدة بتصميمات مبسطة للغاية ومناسبة لمجموعة واسعة من مواقع الويب والتطبيقات. من الممكن أيضًا تخصيص صفحات الخطأ أو استيراد صفحة الخطأ المصممة مسبقًا.
هناك العديد من شركات تطوير Laravel لتطوير التطبيقات. هذا الإصدار الجديد هو كنز دفين لبعض الميزات المدهشة. أدرج المحتوى أعلاه بعض التحسينات والميزات الملحوظة الموسعة في إصدار Laravel 5.8 الجديد.
يمكن دمج بعض الميزات بسلاسة في مواقع الويب لجعلها أكثر عملية وسهلة الاستخدام.
لترقية تطبيقك قيد التشغيل إلى الإصدار 5.8 من Laravel ، يمكنك الاطلاع على دليل الترقية وملاحظات الإصدار على الموقع الرسمي.
