لاراول ۵.۴ منتشر شد
لاراول ۵.۴
چند ماه پیش بود که لاراول ۵.۳ انتشار یافت و حالا لاراول ۵.۴ با یکسری فیچر های جدید و امکانات جدید که به اون اضافه شده ریلیز شد . اگرچه ما تا بحال هم به صورت پیوسته نوآوریهای فراوانی را برای این فریم ورک ارائه کردهایم، اما ۵٫۴ یکی از جالبترین نسخههایی است که تا امروز دیدهاید . در زیر یکسری از ویژگی ها و امکاناتی که به اون اضافه شده را به اختصار توضیح خواهیم داد
Automatic Facades
در این نسخه میتونیم خیلی راحت کلاس های خودمونو به صورت فساد استفاده کنیم و تابعی رو به راحتی به صورت استاتیک فساد صدا بزنیم !
فقط لازمه کلمه فساد رو قبل نیم اسپیس اضافه کنیم مثلا :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
namespace App; class Profit { public function monthly() { ... return $money; } } |
و وقتی میخوایم استفاده کنیم از این کلاس به راحتی میایم
1 2 3 4 5 6 7 8 |
use Facades\App\Profit; Route::get('/', function () { return Profit::monthly(); }); |
Route Improvements (بهبود اسم های مسیر دهی)
با این قابلیت جدید میتونید خیلی روان تر ادرس دهی مسیر های خود را انجام بدهید
مثلا به جای این ادرس :
1 2 3 4 5 |
Route::get('user/{id}/profile', function ($id) { // some closure action... })->name('profile'); |
بنویسید :
1 2 3 4 5 |
Route::name('profile')->get('user/{id}/profile', function ($id) { // some closure action... }); |
یا مدل های دیگه که هستش :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
Route::name('users.index')->middleware('auth')->get('users', function () { // some closure action... }); Route::middleware('auth')->prefix('api')->group(function () { // register some routes... }); Route::middleware('auth')->resource('photo', 'PhotoController'); |
Blade Components and Slots
کامپونت ها و اسلوت ها یه قابلیت خوبیه که باعث میشه هم طراحی ها واضح تر بشه هم انعطاف پذیری بیشتری میده به ما . قبلا ما برای هر کدوم از تیکه کد هایی که میخوساتیم اضافه کنیم میومدیم یه پوشه درست میکردیم و همه چی رو اخر سر اضافه میکردیم و مشخص نبودش چیه ! الان در نسخه لاراول ۵.۴ میایم اینا رو به اسم کامپونت اضافه میکنیم و اطلاعات داخل رو به اسم اسلوت میگیریم . به مثال زیر توجه کنید :
این کد رو داخل پوشه ای جدا مینویسیم
1 2 3 4 5 6 7 |
// alert.blade.php <div class="alert"> {{ $slot }} </div> |
وقتی باهاش کار داریم و قراره یه پیام خطایی رو به ما نمایش بده متن پیام رو داخل کامپونت مینویسیم و خودش اون تیکه کد بالا رو میخونه و اجرا میکنه.
1 2 3 4 5 |
@component('inc.alert') This is the alert message here. @endcomponent |
این قابلیت وجود داره که بهش چندین متغیر هم بدید و مثلا کلاس های مختلفی براش تایین کنید .
Higher Order Messaging for Collections
این قابلیت یه خورده سرعت کار با کالکتور ها رو در نسخه ۵.۴ لاراول میخواد ببره بالاتر . بهترین راه نشون دادن این قابلیت جدید یه مثال ساده هستش
قراره از این به بعد به جای نوشتن اینجوری
1 2 3 4 5 |
$users = User::all(); $users->each(function($users) { $users->email(); }); |
میتونیم اینجوری هم بنویسیمش
1 2 3 4 |
$users = User::all(); $users->each->email(); |
Markdown Emails
بعد از معرفی کردن سیستم ایمیل و نتیفکشن در لاراول ۵٫۳ , لاراول ۵.۴ اومده یه قدم بهتر کرده کارشو و الان میتونیم برای ایمیل ها یا قالب درست کنیم مثلا
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
@component('mail:message') # Thank You Thank you for purchasing from our store. @component('mail::button', ['url' => $actionUrl, 'color' => $color]) {{ $actionText }} @endcomponent @endcomponent |
Laravel Mix
لاراول در این نسخه به جای استفاده از گالپ اومده لاراول میکس رو استفاده میکنه که توسط خود جفری نوشته شده و بیشتر تمرکزش مثل قبل روی فرونت اند و جفری یه داکیومنت جدا براش درست کرده و روی گیت گذاشته به ادرس
https://github.com/JeffreyWay/laravel-mix/tree/master/docs#readme
برای استفاده از این حتما باید node و npm خودتونو اپدیت کنید رو اخرین نسخه و گرنه ارور های مختلفی دریافت میکنید که ربطی به داستان نداره !
Laravel Dusk
وقتی میخواید برنامه های end-to-end بنویسید تست گرفتن از این api ها همیشه سخت بوده ولی با این قابلیت خیلی کارا رو میشه با یک کلیک و فرستادن یه فرم ساده انجام دادش. کابرد اصلیش برای برنامه نویسی های با جاوا اسکریپ یا api نوشتن هستش
Two Middleware
دو میدلور که به صورت پیش فرض برای همه درخواست ها اجرا میشه از این به بعد
اولی میاد اگه اول و اخر دیتا هایی که داره وارد سایت میشه فاصله خالی باشه اونا رو حذف میکنه .به اسم :
1 |
Trim Strings Middleware |
دومی هم اگه موقی که فرم رو پر میکنن برای فیلدی چیزی نفرستن اتوماتیک دیتای فرستاده شده رو null میکنه !
1 |
Convert Empty Strings to Null |
More New Features
و در اخر ویژگی های کوچیکی که اضافه شده
- یه هلپر برای تکرار میتونید یه فانکشن رو بهش بدید که ۱۰ بار تکرارش کنه.
- یه هلپر که میتونید رشته بدید و ارایه تحویل بگیرید.
- یه صفحه دیفالت برای هندل کردن ارور ۵۰۳
- پشتیبانی از PhpRedis
- اضافه کردن اعتبار سنجی برای ایپی های ورژن ۴ و ۶
- و تابع date_format از این به بعد دقیق تر شده !
سخن اخر برای اپدیت کردن از لاراول ورژن ۵.۳ به لاراول ۵.۴ یک تا دو ساعت زمان میگیره
آخرین دیدگاهها