لاراول چیست ؟
زبان برنامه نویسی PHP یکی از برترین و محبوبترین زبانهای برنامه نویسی در حوزه طراحی وب است. این زبان برنامه نویسی Framework های بسیار زیادی دارد که لاراول یکی از آنها است. عاملی که فریم ورک لاراول را از سایر فریم ورکهای زبان PHP متمایز میسازد، ویژگیهای جذاب آن هست.
این فریم ورک در بین سایر فریم ورکهای PHP از امنیت و سرعت توسعهی بیشتری برخوردار است و از طریق آن شما قادر خواهید بود بدون اینکه تغییری در کدهای اصلی ایجاد کنید، عملکرد بسیاری از بخشها را تغییر دهید. لاراول کتابخانههای بسیار متنوعی دارد و از اغلب کتابخانههای فریم ورک سیمفونی نیز استفاده میکند. همچنین این فریم ورک سرویسهای مختلفی را برای برنامه نویسان ارائه میدهد. به عنوان مثال سرویس هایی همچون تأیید هویت، دسترسیهای کاربران، کنسول Artisan، پرداخت و صورتحساب، کش (Cache) و … که تنها بخش کوچکی از سرویس هایی است که این فریم ورک در اختیار برنامه نویسان قرار میدهد.
تغییرات در آپدیت
در حالی که این مقاله را می خوانید نسخه 10 فریم ورک محبوب لاراول عرضه شده است. قبل از لاراول 9، نسخه های اصلی فریم ورک هر شش ماه یکبارعرضه می شدند. بعد از لاراول 9، تیم توسعه دهنده تصمیم گرفت تا نسخه های اصلی را به صورت سالانه عرضه کند و به جای آن هر هفته یک نسخه minor (جزئی) جدید در اختیار توسعه دهنده ها قرار دهد. این شیوه باعث می شود تا بدون زیاد شدن نسخه اصلی و ایجاد breaking change (تغییراتی که باعث از کار افتادن کد های قبلی می شود) بتوانیم از قابلیت ها و بهبود های جدید بهره مند شویم. من قصد دارم طی چند مقاله مهم ترین و کاربردی ترین تغییرات لاراول از ابتدای عرضه نسخه 9 تا امروز را با شما به اشتراک بگذارم. ابتدا با تغییرات مهم تر شروع می کنیم:
نسخه 8 PHP در لاراول 10 پشتیبانی نمی شود
لاراول 10 از نسخه های 8 و پایین تر زبان PHP دیگر پشتیبانی نمی کند. بنابراین برای استفاده از لاراول 10 باید PHP 8.1 یا بالاتر از آن را استفاده کنید. در کد های لاراول از قابلیت های جدید زبان PHP هم استفاده شده است.
Type-hinting چیست؟
با توجه اینکه در لاراول ۱۰ خیلی به type-hinting اشاره شد لازم است در این خصوص توضیح دهیم. از PHP 5 می توانید از type-hinting برای تعیین نوع داده مورد انتظار یک آرگومان در حین تعریف یک تابع استفاده کنید. هنگامی که تابع را فراخوانی می کنید، پیاچپی بررسی می کند که آیا آرگومانها از نوع مشخص شده هستند یا خیر؟ در غیر این صورت، زمان اجرا با خطا مواجه می شود و اجرا متوقف می شود. به مثال زیر توجه کنید:
Str::password
حالا با لاراول ۱۰ میتوانید از Str::password استفاده کرده و به راحتی رمزعبورهای تصادفی و فوقالعاده قوی تولید کنید. باید خاطرنشان کنیم که پسوردهای تولید شده شامل عدد، حروف خاص، حروف الفا و فاصله هستند. طول پسوردها بصورت پیشفرض ۳۲ کارکتر است.
پکیج Pennant
لاراول یک پکیج جدید (و رسمی) به اسم Laravel Pennant ارائه داده که به شما این امکان را میدهد بعضی امکانات را به مرور برای کاربرها فعال کنید. تغییرات رابط کاربری رو A/B تست کنید و…مثلا قابلیت مد نظر برای کاربرهای داخلی فعال و برای کاربرهای پرترافیک غیرفعال باشد و…از این بین هم از هر صد کاربر یک کاربر به این قابلیت دسترسی داشته باشد.
کلاس جدید Process در لاراول 10
با استفاده از کلاس جدید Process در لارول 10، تست کردن و اجرای دستور های CLI از همیشه راحت تر خواهد شد.
- متد های خوانا با قابلیت صدا زدن پشت سر هم برای ایجاد یک شی Process قبل از اجرا
- هندل کردن خروجی پردازش ها، زمانی که دریافت می شوند
- اجرای پردازش ها به صورت موازی
- جلوگیری از اجرای واقعی پردازش ها هنگام اجرای تست ها
تست نویسی برای Process هایی که توسط برنامه اجرا می شوند هرگز به این راحتی نبوده است.
کد زیر نمونه ای از صدا زدن متد های کلاس Process پشت سر هم است :
گزینه profile– برای اجرای تست ها
با استفاده از گزینه profile– هنگام اجرای تست ها، شما می توانید تست های کند برنامه تان را پیدا کنید. این قابلیت به شما کمک می کند تا تست های سریع تری بنویسید یا تست هایی که کند هستند را به گونه ای دسته بندی کنید که با هر بار اجرای تست های برنامه، اجرا نشوند.
الگوریتم Hashing سریع تر
در نسخه 8.1 زبان PHP الگوریتم xxh128 اضافه شد که سرعت و امنیت بالایی دارد. با توجه به اینکه لاراول از نسخه 8.1 PHP بهره می برد، از این پس، از این الگوریتم بهینه هنگام hashing داده ها استفاده خواهد شد.