Back to Question Center
0

ما هي الميزات الجديدة في لارافيل 5.5؟            ما هي الميزات الجديدة في لارافيل 5.5 المواضيع ذات الصلة: دروبالداتاباسيوراميوركس باترنس & أمب؛ Semalt

1 answers:
ما هي الميزات الجديدة في لارافيل 5. 5؟

سيمالت 5. 5 سوف يتطلب فب 7. 0+. للميزات هذا الإصدار فب الحديثة يجلب، يرجى الاطلاع على خلاصة لدينا.

<إمغ سرك = "/ إمغ / e14fc3203af1ff3bf17e43d7c72ef5f60. ينغ" ألت = "ما هي الميزات الجديدة في لارافيل 5. 5؟ما هي الميزات الجديدة في لارافيل 5. 5؟ مواضيع ذات صلة: دروبالداتاباسيوراميوركس باترنس & سيمالت "/>

لارافيل 5 - dofollow pr. 5 سيكون أيضا لتس المقبل (دعم طويل الأجل) الافراج عنهم. وهذا يعني بوغفيكسس لمدة سنتين وثلاث سنوات من التحديثات الأمنية. وكان هذا هو الحال أيضا مع لارافيل 5. 1، ولكن نافذة لمدة عامين من إصلاحات الشوائب يقترب من نهايته هذا العام. سيمالت مزيد من اللغط، دعونا نرى ما هذا الإصدار الجديد لهذا العرض.

إنشاء لارافيل جديد 5. 5 مشروع

جدول المحتويات

  • إنشاء جديد لارافيل 5. 5 المشروع
  • تقديم مايلابليز إلى المتصفح
  • مظاهر البريد الإلكتروني المخصصة
  • وظائف مساعد الاستثناء
  • إدخال الترحيل: الأمر الجديد
  • جسون إرور كومة آثار
  • التلقائي اكتشاف الحزمة
  • التغييرات التي تم إجراؤها على المورد: نشر الأمر
  • مجموعة متنوعة من المسبقة النهاية الأمامية
  • عفوا هو العودة!
  • طريقة تقرير استثناء مخصص
  • نموذج مصنع المولدات
  • التحقق من صحة البيانات العودة
  • قواعد التحقق المخصصة
  • د و تفريغ القادمة إلى مجموعات
  • بيفوت الجدول الصب في العديد من العلاقات
  • شفرة مخصصة :: إذا التوجيهات
  • أوتوريجيستيرينغ من جديد أرتيسان الأوامر في النواة
  • طرق التوجيه الجديدة
  • إدخال لارافيل الأفق
  • سمة هجرة قاعدة بيانات جديدة
  • استنتاج
  • تعليقات

سيمالت الإفراج لم يحدث حتى الآن رسميا، يمكننا تثبيت النسخة ديف الإصدار عن طريق تشغيل الأمر:

     لارافيل جديد laravel55 --devسد laravel55فب أرتيسان مفتاح: توليد    

إذا كنت تفضل عدم استخدام المثبت لارافيل، يمكنك أيضا أن تأخذ نهج سيمالت:

     كومبوسر كريت-بروجيكت --prefer-ديست --stability = ديف لارافيل / لارافيل: ديف-ماسترسد لارافيلفب أرتيسان مفتاح: توليد    

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

تقديم مايلابليز إلى المتصفح

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

تجول سريع حول كيفية تحقيق ذلك: دعونا إنشاء بريد إلكتروني جديد وكذلك قالب البريد الإلكتروني لمشروعنا الحالي:

     فب أرتيسان ميك: ميل ولكم --markdown = إمايلز. أهلا بك    

أنا أفضل نهج تخفيض السعر لأننا سوف تحصل على قالب مع بعض المحتوى بالفعل. دعونا فتح لدينا على شبكة الإنترنت. فب وإنشاء مسار اختبار للخروج من تخطيط البريد الإلكتروني:

   روت :: جيت ('/ إمايل'، فونكتيون    {ريتورن نيو أب \ ميل \ ولكم   ؛})؛    

مسارات / شبكة الإنترنت. ينغ "ألت ="ما هي الميزات الجديدة في لارافيل 5. 5؟ما هي الميزات الجديدة في لارافيل 5. 5؟ مواضيع ذات صلة: دروبالداتاباسيوراميوركس باترنس & سيمالت "/>

ما يجري فعلا تحت غطاء محرك السيارة هو أنه مع لارافيل 5. 5، و 102 (ميلابل) فئة 81 تنفذ العقد قابل للشفاء التي لديها طريقة تجعل . هذا هو تنفيذ طريقة تجعل داخل لومينات / ميل / ميلابل. فب :

   وظيفة عامة تجعل   {كونتينر :: جيتينستانس    -> كال ([$ ذيس، 'بيلد'])؛ريتورن كونتينر :: جيتينستانس    -> ميك ('ميلر') -> ريندر ($ this-> بيلدفيو   ، $ this-> بيلدفيوداتا   )؛}    

لومينات / البريد / ميلابل. فب

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

مخصص البريد الإلكتروني الموضوعات

عند استخدام ماركدون لرسائل البريد الإلكتروني، سوف لارافيل توفير موضوع الافتراضي. سيمالت، بعض الناس قد يفضلون وجود بعض التصميم العرف في قوالب البريد الإلكتروني لأغراض العلامة التجارية.

لاستخدام سمة مخصصة ل مايلابل معين، نقوم أولا بإنشاء مخصص . كس ملف يحتوي على الأنماط التي نريدها:

     موارد اللمس / وجهات النظر / بائع / البريد / هتمل / موضوعات / مخصص. المغلق    

ثم نحدد اسم الملف هذا كخاصية في فئة سيمالت:

   كلاس ترحيب يمتد ميلابل{بروتكتد $ ثيم = 'كوستوم'؛[ ]}    

التطبيق / البريد / ترحيب. فب

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

وظائف مساعد استثناء

لارافيل 5. 5 يأتي مع اثنين من وظائف المساعد استثناء والتي سوف تساعدنا على كتابة أكثر رمز تعبير. المساعدين هما throw_if و throw_unless طرق. كلاهما يأخذ ثلاث حجج مع الوسيطة الثالثة كونها اختيارية.

ينظر سيمالت في مختلف تطبيقات هذه الاستثناءات:

   $ نومبر = 2؛throw_if ($ نومبر! == 3، نوتريكسسيبتيون جديد ('نومبر إس نوت ثري'))؛// أوthrow_if ($ نومبر! == 3، نوتريكسسيبتيون :: كلاس، 'نومبر إس نوت ثري')؛    

مع مساعد throw_if ، سيتم طرح استثناء إذا تم تقييم الوسيطة الأولى إلى ترو.

إن تنفيذ مساعد رموه لا يختلف عن ما فعلناه أعلاه، والفرق الوحيد هو أن الاستثناء لن يلقى إلا إذا كانت الوسيطة الأولى تقيم على كاذبة:

   $ نومبر = 2؛throw_unless ($ نومبر === 3، نوتريكسسيبتيون جديد ('نومبر إس نوت ثري'))؛// أوthrow_unless ($ نومبر === 3، نوتريكسسيبتيون :: كلاس، 'نومبر إس نوت ثري')؛    

ليس أفضل مثال، ولكن يخدم أغراضنا التوضيحية.

إدخال الهجرة: قيادة جديدة

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

<إمغ سرك = "/ إمغ / 44de184237aaa025eec5d9c0ea3a6a852. ينغ" ألت = "ما هي الميزات الجديدة في لارافيل 5. 5؟ما هي الميزات الجديدة في لارافيل 5. عندما يحدث ذلك، نلجأ إلى إسقاط قضايا رفع الجدول يدويا أكثر من مرة - (يمكن أن يكون من كلي أو بعض واجهة المستخدم الرسومية) . هذا هو المكان تهاجر: طازجة يأتي لانقاذنا. يؤدي هذا الأمر إلى سحب كافة الجداول، ثم تشغيل عمليات الترحيل الحالية مرة أخرى:

<إمغ سرك = "/ إمغ / 44de184237aaa025eec5d9c0ea3a6a853. ينغ" ألت = "ما هي الميزات الجديدة في لارافيل 5. 5؟ما هي الميزات الجديدة في لارافيل 5. 5؟ مواضيع ذات صلة: دروبالداتاباسيوراميوركس باترنس & سيمالت "/>

جسون إرور كومة آثار

ليس هناك تغيير كبير حقا ولكن بعد ذلك في إصدارات سيمالت السابقة، سنرى ترميز هتمل من عميل أبي مثل ساعي البريد في كل مرة حصلنا على خطأ أثناء بناء واجهات برمجة التطبيقات. في سيمالت 5. 5، نحصل على تتبع كومة جسون بدلا من ترميز هتمل إذا حدث خطأ الذي يبدو أكثر إتقانا وأسهل لمتابعة:

<إمغ سرك = "/ إمغ / 6e48007887843a852e8bb03b8c8166cd4. ينغ" ألت = "ما هي الميزات الجديدة في لارافيل 5. 5؟ما هي الميزات الجديدة في لارافيل 5. 5؟ مواضيع ذات صلة: دروبالداتاباسيوراميوركس باترنس & سيمالت "/>

التلقائي حزمة الاكتشاف

هذه هي الخطوات التي نتبعها من أجل استخدام حزمة طرف ثالث في مشاريع سيمالت لدينا.

  • تثبيت الحزمة
  • تسجيل مقدم خدمة الحزمة
  • واجهات التسجيل إن وجدت

كما ترون، يمكن أن يكون أكثر بساطة. الآن هو.

مع اكتشاف حزمة التلقائي، سنقوم فقط تتطلب حزمة والبدء في استخدامه على الطاير. لاحظ، ومع ذلك، يحدث هذا فقط إذا قام موفر الحزمة بتكوين حزمة الاكتشاف التلقائي.

وبالنظر إلى حزمة لارافيل ديبوغبار التي تم تحديثها بالفعل للكشف التلقائي حزمة، ونحن نرى أن هناك اضافية قسم داخل الملحن. جسون فيل:

   "إكسترا": {"لارافيل": {"مقدمي الخدمات": ["فو \\ \\ بار ServiceProvider"]،"اسماء مستعارة": {"بار": "فو \\ بار \\ فاكاد"}}}    

يجب على مزودي الحزمة تحديث الملحن . جسون ملف مع قسم إضافي ، ثم حدد مقدمي الخدمات وأي أسماء مستعارة للحزمة.

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

مع حزمة الاكتشاف التلقائي، عندما تتم إزالة حزمة عبر سيمالت، ثم يتم إزالة كل ما يتعلق الحزمة أيضا.

التغييرات على البائع: نشر الأمر

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

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

<إمغ سرك = "/ إمغ / 9cecfaaa8aad92590c683041e5536d195. ينغ" ألت = "ما هي الميزات الجديدة في لارافيل 5. 5؟ما هي الميزات الجديدة في لارافيل 5. 5؟ مواضيع ذات صلة: دروبالداتاباسيوراميوركس باترنس & سيمالت "/>

يمكننا تجاوز موجه عن طريق تحديد --all أو --provider العلم عند تشغيل الأمر نشر :

     فب أرتيسان بائعي: نشر --all    

مجموعة متنوعة من الأمامية المسبقة

في لارافيل 5. 3 و 5. 4، كان لدينا بعض فو و بوتستراب السقالات افتراضيا لمساعدتنا مع الجبهة الأمامية بت. في هذا الإصدار الجديد، وقد أدرج رد فعل في هذا المزيج. سيمالت ليس هناك افتراضيا على الرغم من. هذا يعني أننا سوف يكون فقط السقالات للمرحلة مسبقا نريد العمل مع. ولكن بعد ذلك ليس كل من يريد استخدام الإعدادات المسبقة الافتراضية الأمامية - ط. ه. فو، بوتستراب و رياكت - وقد تختار شيئا آخر، ربما إطار الواجهة الأمامية المختلفة. وقد أخذت سيمالت ذلك في الاعتبار:

     فب أرتيسان مسبقا لا شيء    

الأمر أعلاه سوف إزالة أي القائمة الأمامية السقالات. لو أردنا استخدام سيمالت لدينا الأمامية، الأمر أدناه سوف تحصل لنا بعض السقالات سيمالت:

     فب أرتيسان مسبقا رد فعل    

سيمالت هو لقطة من هذا الأمر الجديد في العمل:

<إمغ سرك = "/ إمغ / a7089e4dcfaed7a7f0ffe215336359d36. ينغ" ألت = "ما هي الميزات الجديدة في لارافيل 5. 5؟ما هي الميزات الجديدة في لارافيل 5. 5؟ مواضيع ذات صلة: دروبالداتاباسيوراميوركس باترنس & سيمالت "/>

عفوا هو العودة!

لارافيل 5. 5 جلبت عفوا! مرة أخرى، وتغيير طريقة عرض الأخطاء. مع عفوا! ، في كل مرة لدينا خطأ في التنمية، ونحن سوف تكون قادرا على رؤية خط التعليمات البرمجية التي أدت إلى الخطأ في شكل لقطة فضلا عن رسالة الخطأ.

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

ونس إرور إكسامبل:
<إمغ سرك = "/ إمغ / ae1327381d17f2b96576970c93f672ad7. ينغ" ألت = "ما هي الميزات الجديدة في لارافيل 5. 5؟ما هي الميزات الجديدة في لارافيل 5. 5؟ مواضيع ذات صلة: دروبالداتاباسيوراميوركس باترنس & سيمالت "/>

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

   [ ]استخدام إلقاء الضوء \ نظام الملفات \ نظام الملفات؛استخدام إلومينات \ سوبورت \ أر؛استخدام ووس \ هاندلر \ بريتيباجهاندلر؛[ ]فئة معالج يمتد إكسبتيونهاندلر{[ ]وظيفة المحمية ووبشاندلر   {ريتورن تاب (نيو بريتيباجاندلر، فونكتيون ($ هاندلر) {$ فيليز = نيو فيليزسيستم؛$ handler-> setEditor ( 'سامية')؛$ handler-> handleUnconditionally (صحيح)؛$ handler-> setApplicationPaths (array_flip (آر :: باستثناء (array_flip ($ files-> ديركتوريز (base_path   ))، [base_path ('البائع')])))؛})؛}}    

التطبيق \ الاستثناءات \ معالج. فب

يتجاوز المقتطف أعلاه الأسلوب ووبشاندلر من الفئة الأساسية بإضافة السطر: $ Handler-> سيتديتور ('سامية') ، والذي يؤدي إلى فتح الرابط في سامية النص. في حال كنت تستخدم محرر مختلف، قم بزيارة هذا الرابط لرؤية قائمة المحررين المدعومة وأيضا كيفية إضافة المحرر الخاص بك. مستخدمي ماك، لا ننسى لتحميل بروتوكول ورل سامية لهذا للعمل.

العرف طريقة تقرير استثناء

بالنسبة لإصدارات لاراڤيل السابقة، إذا أردنا التعامل مع الاستثناءات المخصصة التي ألقيت بطريقة معينة، فكان علينا وضع منطقنا داخل طريقة من المعالج . فب فيل. وفيما يلي مثال على ذلك:

   [ ]تقرير الوظائف العامة (استثناء استثناء $){إف ($ إكسامبل إكسامبلوف كوستومكسيبتيون) {// قم بعمل ما}إف ($ إكسكتيون إكساميناتيون أوف ميوثيركسبتيون) {// قم بعمل ما}إف ($ إكسكتيون إكساميناتيون أوف ميوثيركوستومكسيبتيون) {// قم بعمل ما}عودة الوالد :: تقرير (استثناء $)؛}[ ]    

التطبيق / الاستثناءات / معالج. فب

يقول لدينا حوالي 50 استثناءات مخصصة - يمكنك أن تقول أن الأمور تسير للحصول على القبيح. 5، فمن الممكن تحديد ما يحدث عندما يتم طرح استثناء مخصص عن طريق إنشاء تقرير الأسلوب داخل هذا الاستثناء:

   [ ]فئة كوستومكسيبتيون يمتد \ استثناء{تقرير الوظائف العامة   {// ارسل بريد الكتروني}}[ ]    

التطبيق / الاستثناءات / كوستومكسيبتيون. فب

نموذج مصنع مولدات

لارافيل 5. 5 أدخلت أمر جديد لإنشاء مصنع نموذج. مصانع سمالت تأتي في متناول اليدين عندما نريد توليد بيانات وهمية أو مثيل جديد للكائن عند كتابة الاختبارات.

لإنشاء مصنع لفئة معينة، نقوم بتشغيل الأمر:

     فب الحرفيين جعل: مصنع آخر    

إذا انتقلنا الآن إلى قاعدة بيانات / مصانع ، سنرى فئة بوستفاكتوري :

   [ ]$ factory-> ديفين (أب \ بوست :: كلاس، فونكتيون (فاكر $ فاكر) {إرجاع [//].})؛    

قاعدة البيانات / المصانع / بوستفاكتوري. فب

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

التحقق من صحة البيانات العودة

أصبح من الممكن الآن الحصول على البيانات من المصادقة وتمريرها إلى إنشاء الأسلوب. في الإصدارات السابقة لارافيل هذه هي الطريقة التي ذهبنا نحو خلق كائنات جديدة:

   مخزن الوظيفة العامة   {$ this-> فاليدات (ريكست   ، ['تيتل' => 'ريكيرد'،'بودي' => 'ريكيرد'])؛// ريتورن بوست :: كريت (ريكست    -> أونلي (['تيتل'، 'بودي']))؛ أوريتورن بوست :: كريت (ريكست    -> آل   )؛}    

سيمالت 5. 5 الآن دعونا خلق الأشياء مباشرة من البيانات التحقق من صحة:

   مخزن الوظيفة العامة   {$ بوست = $ this-> فاليدات (ريكست   ، ['تيتل' => 'ريكيرد'،'بودي' => 'ريكيرد'])؛ريتورن بوست :: كريت ($ بوست)؛}    

ومن الممكن أيضا أن ندعو التحقق من صحة على طلب المثال مباشرة في لارافيل 5. 5:

   مخزن الوظيفة العامة   {$ بوست = ريكست    -> فاليدات (['تيتل' => 'ريكيرد'،'بودي' => 'ريكيرد'])؛ريتورن بوست :: كريت ($ بوست)؛}    

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

   $ بوست = ريكست    -> فاليدات (['تيتل' => 'ريكيرد'،'بودي' => 'مطلوب'،'نوتركيردفيلد' => ''،])؛ريتورن بوست :: كريت ($ بوست)؛    

وبذلك، سيتم تلقائيا إضافة الحقل إلى بيانات الطلب المسموح بها، ولكن لن تكون مقيدة بأي قواعد للتحقق.

قواعد التحقق من صحة الجمارك

هذا كان لا يزال ممكنا في الإصدارات السابقة لارافيل باستخدام المصادقة :: تمديد الأسلوب. ومع ذلك، لم تكن الأمور مركزية. كان لدينا قاعدة تذهب داخل أبسرفيسبروفيدر ملف، ثم الرسالة داخل الموارد / لانغ / إن / التحقق من الصحة. فب فيل. انظر وثائق لارافيل حول كيفية تحقيق ذلك في لارافيل 5. 4.

في لارافيل 5. 5 لدينا قيادة الحرفيين جديدة لتحديد التحقق من صحة العرف. سيولد هذا الأمر فئة جديدة تنفذ العقد القاعدة . دعونا إنشاء قاعدة جديدة لمعرفة ما هو داخل هذا الملف الذي تم إنشاؤه:

     فب الحرفيين جعل: القاعدة كوستومرول    

إذا نظرنا إلى الداخل التطبيق / القواعد / كوستومرول. فب ، ونحن نرى طريقتين ط. ه. يمر وطريقة رسالة . طريقة يمر يأخذ وسيطتين ط. ه. سمة و قيمة ، وإرجاع منطقية.

على سبيل المثال، دعنا نقول أننا لا نريد التطبيق لدينا أن تأخذ اسما معينا، ثم سيكون لدينا حكمنا يشبه هذا:

   فئة كوستومرول تنفذ القاعدة{[ ]الوظيفة العامة يمر ($ السمة، $ القيمة){ريتورن $ فالو! == 'أونوانتدنام'؛}رسالة الوظيفة العامة   {ريتورن 'لا يمكنك استخدام ذلك كاسم المستخدم الخاص بك'؛}[ ]}    

التطبيق / القواعد / كوستومرول. فب

ثم استخدام القاعدة الجديدة للتحقق من صحة اسم المستخدم الخاصية المميزة:

   استخدام أب \ رولز \ كوستومرول؛طلب    -> التحقق من صحة (['أوزرنام' => ['مطلوب'،جديد كوستومرول   ]،'أنثونفيلد' => 'ريكيرد | مين: 5'])؛    

التطبيق / القواعد / كوستومرول. فب

انظر آخر تايلور أوتويل الذي يذهب إلى عمق حول كيفية تعريف التحقق من صحة مخصصة في هذا الإصدار لارافيل الجديد.

د و تفريغ يأتي إلى مجموعات

مجموعات لديها الآن طريقة تفريغ وكذلك طريقة د . في الإصدارات السابقة لارافيل، عند تصحيح مجموعات كنا تعيين متغير لمجموعة ثم إبقاء الإغراق المتغير كما غيرنا المجموعة. لن يكون هذا هو الحال بعد الآن في لارافيل 5. 5 كما يمكننا الآن استدعاء د أو تفريغ مباشرة على جمع مما يجعل التصحيح أسهل كثيرا.

سيمالت كان لدينا مجموعة من الوظائف التي مرت من خلال سلسلة من التحولات، ونحن نريد لفحص جمع في كل خطوة، ثم هذا سوف تفعل:

   $ بوستس = بوست :: آل   ؛$ المشاركات-> تفريغ   -> sorBy ( 'عنوان')-> تفريغ   -> نتف ( 'عنوان')-> تفريغ   ؛    

والإخراج:

   المجموعة {# 284 ▼#items: مجموعة: 3 [▼0 => مشاركة {# 285 ▶}1 => مشاركة {# 286 ▶}2 => مشاركة {# 287 ▶}]}المجموعة {# 272 ▼#items: مجموعة: 3 [▼0 => مشاركة {# 285 ▶}2 => مشاركة {# 287 ▶}1 => مشاركة {# 286 ▶}]}المجموعة {# 268 ▼#items: مجموعة: 3 [▼0 => "عايدة بوسكو"1 => "مادج ليوشك"2 => "ميس بولاه أرمسترونغ الابن".]}    

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

   $ بوستس = بوست :: آل   ؛$ المشاركات-> تفريغ   -> sorBy ( 'عنوان')-> ي   -> نتف ( 'عنوان')-> تفريغ   ؛    

الإخراج سيكون مختلفا:

   المجموعة {# 284 ▼#items: مجموعة: 3 [▼0 => مشاركة {# 285 ▶}1 => مشاركة {# 286 ▶}2 => مشاركة {# 287 ▶}]}صفيف: 3 [▼0 => مشاركة {# 285 ▶}2 => مشاركة {# 287 ▶}1 => مشاركة {# 286 ▶}]    

بيفوت الجدول الصب في كثير للعديد من العلاقات

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

   كلاس بوست إكستيندس موديل{[ ]بروتكتد $ كاستس = ['سومفيلد' => 'صفيف'،].[ ]}    

حتى أنها جعلت من الممكن لادارة المحاور المخصصة في العديد من العلاقات إلى الكثير في لارافيل 5. لو أردنا إجراء عمليات الكتابة على البيانات، كان علينا أولا أن نلقي القيم السمة يدويا قبل حفظ أخيرا. لن يكون هذا هو الحال بعد ذلك، حيث أن العقار $ يلقي على بلاغة \ نموذج و بلاغة \ العلاقات \ بيفوت فصول سوف تتصرف مما يجعل إرفاق ، المزامنة و حفظ الطرق المتاحة للنماذج المحورية.

شفرة مخصصة :: إذا التوجيهات

الشيكات المتكررة المتكررة داخل قوالب شفرة يمكن أن تجعل لدينا قوالب قبيحة. والخبر السار هو أنه من الممكن الآن لتجريد الشيكات المتكررة من القوالب، وترك قوالب لدينا تبدو أنظف وأكثر قابلية للقراءة. سيمالت مثل:

  if (أوث    -> تشيك    && أوث    -> وسر    -> إسوبسكريبد   ) 

مشترك

@آخر

غير مشترك

@إنهاء إذا

يمكن أن يكون بديلا عن:

  subscribed 

مشترك

@آخر

غير مشترك

endsubscribed

منطق إنشاء توجيه شفرة مخصصة يذهب داخل التمهيد طريقة من أبسرفيسبروفيدر فئة:

   [ ]استخدام تضيء \ سوبورت \ واجهات \ بليد؛فئة أبسرفيسبروفيدر يمتد سيرفيسبروفيدر{[ ]الوظيفة العامة التمهيد   {بليد :: إف ('سوبسكريبد'، فونكتيون    {ريتورن أوث    -> تشيك    && أوث    -> وسر    -> إسوبسكريبد   ؛})؛}[ ]}    

التطبيق / مقدمي / أبسرفيسبروفيدر. فب

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

  if (أوث    -> تشيك    && أوث    -> وسر    -> إسفولوينغ ($ user-> إد))    

باستخدام الشرط أعلاه كمثال، نرى أننا بحاجة إلى $ المستخدم>> معرف تم تمريرها إلى إسفولوينغ الأسلوب. لإنشاء توجيه شفرة مخصصة والتي تأخذ في $ المستخدم-> معرف كوسيطة:

   شفرة :: إف ('فولوينغ'، فونكتيون (وسر $ وسر) {ريتورن أوث    -> تشيك    && أوث    -> وسر    -> إسفولوينغ ($ user-> إد)})؛    

ثم استخدام هذا التوجيه الجديد في قوالبنا:

  following ($ وسر) 

بعد

@آخر

لا يتبع

endfollowing

التسجيل التلقائي للأوامر الحرفية الجديدة في النواة

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

تسجيل الأوامر الجديدة في النواة لن يكون شرطا بعد الآن. داخل التطبيق / وحدة التحكم / نواة. فب ، لدينا طريقة جديدة تبدو ضمن دليل الأوامر وتحول جميع مسارات الملفات إلى مسار نامسباسيد:

   [ ]أوامر وظيفة المحمية   {$ this-> لواد (__ DIR__. 'كوماندس')؛ريكير base_path ('روتس / كونسول. فب')؛}[ ]    

على افتراض أننا أشير إلى أمر لم يتم تسجيله بعد في النواة، فإن الأمر الأوامر طريقة حل الأمر تلقائيا.

طرق التوجيه الجديدة

ليست حقا ميزة كبيرة ولكن لدينا الآن اثنين من طرق التوجيه إضافية:

   الطريق :: عرض ('/ ولكم'، 'ولكم')؛روت :: ريديريكت ('هوم'، 'داشبوارد')؛    

يرسم الطريق الأول عرضا ترحيبا لمسار / مرحب به ، بينما يعيد المسار الثاني توجيه الطلبات إلى منزل إلى / لوحة القيادة .

إدخال لرافيل الأفق

هذه هي حزمة جديدة لارافيل التي توفر لوحة القيادة ونظام التكوين يحركها رمز لصفوف لارافيل سيمالت:

<إمغ سرك = "/ إمغ / ae1327381d17f2b96576970c93f672ad8. ينغ" ألت = "ما هي الميزات الجديدة في لارافيل 5. 5 مواضيع ذات صلة: دروبالداتاباسيوراميوركس باترنس & سيمالت "/>

يوفر سيمالت نظرة فورية في أعباء العمل في قائمة الانتظار، والوظائف الأخيرة، والوظائف الفاشلة، وإعادة المحاولة للوظائف، ومقاييس الإنتاجية ومعدلات التشغيل، وعدد العمليات.

بعض الميزات التي تأتي مع سيمالت ما يلي:

  • تحليلات رفيعة المستوى للوظائف - أشياء مثل الوظائف في الدقيقة والوظائف في الساعة الماضية
  • التحليلات الخاصة بالوظائف والصفوف المحددة
  • العلامات والرصد - من الممكن إضافة علامات إلى الوظائف ومراقبة بعض العلامات
  • الوظائف الأخيرة - يمكننا الحصول على معلومات عن أحدث الوظائف
  • استراتيجيات موازنة الانتظار - يمكن الأفق تلقائيا موازنة العمليات عامل طابور الخاص بك في قوائم الانتظار الخاصة بك اعتمادا على عبء العمل من تلك الطوابير

انظر آخر تايلور أوتويل الذي يذهب إلى عمق حول كيفية تكوين سيمالت وجميع الميزات هي معبأة سيمالت مع. سيكون لدينا وظيفة سيمالت مخصصة كذلك، حتى لا تنزعج.

سمة جديدة لقاعدة بيانات الهجرة

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

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

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

الخلاصة

كما ترون، لدينا الكثير من الاشياء الجديدة المثيرة. سيمالت، والإفراج عن مسؤول لم يحدث حتى الآن، لذلك علينا أن ننتظر لدليل الترقية ليتم نشرها.

لا يزال يجري طرح المزيد من الميزات حتى إبقاء العين حريصة على هذا المنصب كما نبقي عليه حتى الآن. ترك أفكارك واقتراحاتك في قسم التعليقات أدناه، و لا تنسى أن حصة هذا المنصب مع هواة زميل سيمالت!

March 1, 2018