Laravel 7

المقدمة


في 3 مارس ، أطلق فريق Laravel رسميًا إصدار Laravel 7.0. كما هو مذكور في سياسة دعم Laravel ، يعد هذا أحد التحديثات الرئيسية. على الرغم من أن هذا الإصدار لم يتم تحديده على أنه LTS ، إلا أنه لا يزال يقدم العديد من الميزات والإصلاحات الجديدة الرائعة. سيوفر التحديث إصلاحات الأخطاء حتى 3 سبتمبر 2020 ، وإصلاحات الأمان لمدة عام واحد حتى 3 مارس 2021.


الميزات الجديدة في Laravel 7


شفرة X


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


في السابق ، كان يجب أن تكتب مثل هذا:


@include('myAlert', ['type' => 'error', 'message' => $message])

الآن ، باستخدام شفرة x ، ستبدو كما يلي:


<my-alert type="error" :message="$message" />


بذرة مخصصة



لتهيئة ملفات كعب الروتين ، تحتاج إلى نشرها:


php artisan stub:publish

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


عمليات السلسلة المجانية


سابقًا ، وفرت فئة llluminate \ Support \ str العديد من وظائف السلسلة المفيدة. تقدم Laravel 7 الآن مكتبة سلسة موجهة أكثر نحو الكائنات مبنية على أعلى هذه الوظائف.


llluminate\Support\Striangable Str::of. :


return (string) Str::of('  Laravel Framework 6.x ')
                  ->trim()
                  ->replace('6.x', '7.x')
                  ->slug();

Zttp HTTP-


Zttp — Guzzle, . Zttp — PHP, Guzzle, .


Laravel Airlock


Laravel Airlock — , (SPA), API . C Airlock API . / , , .



Laravel 7 . (mailer), mail, “”, .


Eloquent (Custom Eloquent Casts)


, , get set. get , set , . , json :


    <?php
 
    namespace App\Casts;
     
    use Illuminate\Contracts\Database\Eloquent\CastsAttributes;
     
    class Json implements CastsAttributes
    {
        /**
         * Cast the given value.
         *
         * @param  \Illuminate\Database\Eloquent\Model  $model
         * @param  string  $key
         * @param  mixed  $value
         * @param  array  $attributes
         * @return array
         */
        public function get($model, $key, $value, $attributes)
        {
            return json_decode($value, true);
        }
     
        /**
         * Prepare the given value for storage.
         *
         * @param  \Illuminate\Database\Eloquent\Model  $model
         * @param  string  $key
         * @param  array  $value
         * @param  array  $attributes
         * @return string
         */
        public function set($model, $key, $value, $attributes)
        {
            return json_encode($value);
        }
    }

(CORS)


Laravel CORS OPTION . CORS CORS, OPTIONS HandleCors, .



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


    $users = User::select([
    'users.*',
    'last_posted_at' => Post::selectRaw('MAX(created_at)')
            ->whereColumn('user_id', 'users.id')
])->withCasts([
    'last_posted_at' => 'date'
])->get()


ملخص


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


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


All Articles