المقدمة
في 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
{
public function get($model, $key, $value, $attributes)
{
return json_decode($value, true);
}
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 أسهل وأكثر متعة في الاستخدام. يتم تنفيذ العديد من الميزات التي طال انتظارها وأخيرًا جاهزة للاستخدام.
أعتقد أن هذا إصدار رائع ، وأتطلع إلى التحديث التالي. آمل أن تشعر بنفس الطريقة!