ماه فوریه سال ۲۰۱۵ حاوی خبر بسیار خوشحال کننده ای برای برنامه نویسان زبان پی اچ پی است و بهخصوص فریم ورک Laravel است چرا که در این ماه نسخه ۵ از این فریم ورک محبوب پی اچ پی در دسترس علاقمندان قرار گرفته است. لاراول فریم ورکی است که هم برنامه نویسان کهنه کار عاشقش میشوند و هم کسانی که تازه پا به دنیای برنامه نویسی گذاشتهاند و از دلایل این امر میتوان به سادگی در استفاده از این فریم ورک و در عین حال قدرتمند بودن آن است، مستندات بسیار قوی، تیم گسترده از توسعه دهندگان و … اشاره کرد. تا پیش از این نسخه ۴.۲ از این فریم ورک به دنیا عرضه شده بود و قرار بود تا نسخه بعدی ۴.۳ باشد اما به نظر میرسد به خاطر تغییرات نسبتاً گسترده ای که در آخرین نسخه از این فریم ورک پی اچ پی صورت گرفته، توسعهدهنده اصلی آن -آقای تیلور اوتول- تصمیم گرفته تا این نسخه را ۵ نامگذاری کند (از جمله این تغییرات میتوان به تغییر در دایرکتوری های لاراول اشاره کرد).
علاوه بر انتشاره نسخه ۵ فریم ورک لاراول، سایت اصلی این فریم ورک نیز دستخوش تغییرات گسترده ای شده است که از آن جمله میتوان به ۲۲ ویژگی جدید اضافه شده به سایت اشاره کرد که با نگاه به سایت لاراول، بسیاری از این ویژگیهای جدید را در نگاه اول متوجه خواهید شد. از جمله تغییرات اصلی صورت گرفته در نسخه ۵ فریم ورک لاراول میتوان به موارد زیر اشاره کرد:
تغییر ساختار دایرکتوری فریم ورک لاراول
یکی از اصلیترین تغییراتی که در نسخه ۵ لاراول مشاهده میشود تغییر ساختار دایرکتوری اصلی این فریم ورک است. برخی از فولدرها که پیش از این در فولدر app قرار داشتند به خارج از این فولدر انتقال پیدا کردهاند که از آن جمله میتوان به config، database، storage و resources اشاره کرد. مواردی هم که داخل فولدر app باقیمانده اند عبارتند از: Commands Console Events Exceptions Handlers Http Providers Services اگر به نسخه های قبلی لاراول عادت کرده باشید مسلماً در ابتدای راه مهاجرت به نسخه ۵ کمی اذیت خواهید شد اما صرفاً پس از چند روز به این تغییر و تحولات عادت خواهید کرد.
تغییرات در تمپلت انجین Blade
بلید خیلی دستخوش تغییرات زیادی نشده است اما همان تغییرات جزئی صورت گرفته در نسخه ۵ این فریم ورک، ارزش مهاجرت از نسخه ۴.۲ را دارا است. در نسخه قبلی لاراول از ساختار }}} و }} استفاده میکردیم که مورد اول برای اکو کردن چیزی با قابلیت Escaping بود و مورد دوم هم صرفاً برای اکو کردن مقدار یک متغییر یا چیزی شبیه به آن بود. در نسخه ۵ فریم ورک لاراول، هر دو حالت از قابلیت Escaping برخوردارند و اگر بخواهیم صرفاً چیزی را اکو کنیم، می بایست از ساختار {!! var$ !!} استفاده نماییم