اگر از علاقه مندان فریم ورک لاراول هستید و آموزش های ما را در این زمینه دنبال کرده باشید بار ها گفته ایم که یا باید با یک ورژن لاراول خوب سازگار شوید یا هم یک مهندس بروز و آپدیت باشید! چراکه لاراول بروزرسانی های تقریبا زیادی دارد و در هر ورژن تغییرات عمده ای می دهد که شاید برخی از دستوراتی که قبلا کار میکرد دیگر عمل نکند!
لاراول 5.5 در جولای 2017 منتشر شده است و در این مطلب قصد داریم تغییرات آن را بررسی کنیم.




اولین ویژگی در Laravel 5.5 که شخصا آنرا خیلی پسندیدم ویژگی Laravel Package Auto-Discovery می باشد؛ اگر یادتان باشد در ورژن های قبلی لاراول هنگامی که یک پکیج نصب می کردیم باید بصورت دستی می رفتیم در فایل app.php و در قسمت های provider و Facade آنرا تعریف می کردیم و طبیعتا عده ای به دلیل عدم آگاهی از این عمل شاید نمی توانستند پکیج های مورد نظر را نصب کنند و در نتیجه بیخیال می شدند! اما حالا لاراول بصورت خودکار این کار را برایتان انجام خواهد داد.



ویژگی دیگر این ورژن بحث پیشتاز بودن آن نسبت به سایر فریم ورک های PHP است، در لاراول 5.5 شما فقط قادر خواهید بود از PHP 7 یا ورژن های بالاتر پی اچ پی استفاده کنید! همانطور که می دانید استفاده از ورژن جدیدتر پی اچ پی باعث افزایش سرعت و همچنین استفاده بهینه تر از منابع خواهد شد. سایت های بزرگی نظیر Tumblr نیز اخیرا به ورژن 7 پی چی پی مهاجرت کرده اند.
دستور Blade::if() نیز افزوده شده و در بحث دستورات شرطی if در view ها، هم کار را آسان تر کرده و هم اینکه می توانید شروط بیشتری را بنویسید.



Custom Validator Rules
: اگر بخاطر داشته باشید در آموزش لاراول به مبحث Validation اشاره کردم، همان مبحثی که می توانستید روی فرم ها کنترل بیشتری داشته باشید و برای هر فیلد دقیقا همان داده ای که میخواهید را مجاز به ورود کنید. در لاراول 5.5 بحث اعتبارسنجی پیشرفته تر شده و شما قادر خواهید بود حتی Rule ها یا قوانین سفارشی خودتان را نیز تعریف کنید.
اضافه شدن دستور migrate:fresh برای drop یا حذف جداول بانک اطلاعاتی که در ورژن های قبلی دستور migrate:refresh وجود داشت که شما را قادر به rollback یا اجرای مجدد تمام Migration ها می ساخت و در زمان ساخت مجدد دیتابس کاربرد داشت. اما حالا آن دستور بهبود یافته و علاوه بر rollback باعث drop یا حذف جداول نیز می شود.اضافه شدن دو متد کمکی throw_if و throw_unless که throw_if برای چک کردن یک مقدار می باشد و در صورت بولین بودن و درست بودن پارامتر اول مقدار True را بر می گرداند و دستور دیگر برعکس آن False را بر می گرداند.Whoops برگشت! Whoops در واقع PHP error handler می باشد که در ورژن لاراول 4 و قبل آن وجود داشت اما در لاراول 5 حذف شد تا اینکه مجدد در لاراول 5.5 برگشت و طبیعتا باعث خوشحالی کاربران لاراول خواهد بود چراکه مشکلات و خطاهای کد شان را روی صفحه مشاهده خواهند کرد.امکان سفارشی سازی پیغام های خطای لاراول در این ورژن نیز وجود دارد.
Adds Support for Email Themes: در لاراول 5.5 شما می توانید از قالب های متفاوت و گوناگون برای ایمیل ها استفاده کنید. همچنین در ورژن های قبلی برای مشاهده قالب یا تغییرات آن نیاز بود تا بار ها ایمیل تست ارسال کنید، اما در Laravel 5.5 شما می توانید بدون ارسال ایمیل و با ایجاد یک Route یا آدرس هر لحظه قالب خود را در مرورگر مشاهده کنید.توسعه دستور vendor:publish با افزودن پارامتر های –all و –provider که نحوه افزوده شدن فایل های فریم ورک را می توانید مشخص کنید و در انیمیشن زیر نحوه عملکرد آن قابل مشاهده است.





قدرتمندتر شدن لاراول در Frontend: در لاراول 5.3 امکان استفاده سریع از فریم ورک هایی مثل Vue.js و بوت استرپ جهت راحتی کاربر و تسریع امور وجود داشت چراکه در داخل فریم ورک تعبیه شده بودند. در Laravel 5.5 امکان استفاده از React نیز فراهم شده است و فقط کافی است دستور php artisan preset react را داخل ترمینال بزنید. برای بوت استرپ نیز می توانید از دستور php artisan preset bootstrap استفاده کنید. حذفشان نیز بسیار راحت است و با دستور php artisan preset none امکان پذیر است.اضافه شدن دستورات روت جدید به شکل Route::view() و Route::redirect() که بعنوان مثال می توانید بگویید اگر کاربر این آدرس را زد به فلان ادرس منتقل شود به شکل مثلا دائمی (301) به مثال زیر توجه کنید:
Route::redirect(‘/a’, ‘/b’, 301);
که می گوید اگر کاربر آدرس site.com/a را وارد کرد بطور اتوماتیک به site.com/b منتقل شود.

منبع: میهن لرن