لاراول یه فریمورک PHP فوقالعاده قدرتمند برای توسعه اپلیکیشنهای وبه. این فریمورک با ارائه ابزارها و ویژگیهای منحصر به فرد، فرآیند توسعه وب رو سادهتر و سریعتر میکنه. لاراول بر اساس اصول MVC ساخته شده و به توسعهدهندگان این امکان رو میده که کدهای سازمانیافته و قابل فهم بنویسند. از ویژگیهای برجسته لاراول میشه به Eloquent ORM برای کار با دیتابیس، Blade Template Engine برای ساخت صفحات وب زیبا و دینامیک، و Artisan CLI برای اجرای دستورات مختلف اشاره کرد. توی این مقاله، به بررسی ویژگیها و تغییرات جدید لاراول میپردازیم و نشون میدیم چطور میتونی از امکانات بینظیرش بهرهمند بشی و پروژههات رو با سرعت و کیفیت بالاتری پیش ببری. همراه ما باش تا با دنیای جذاب لاراول بیشتر آشنا بشی!
لاراول یه فریمورک PHP است که برای ساختن اپلیکیشنهای وب استفاده میشه. این فریمورک ابزارها و ویژگیهای قدرتمندی رو ارائه میده که فرآیند توسعه وب رو سادهتر و سریعتر میکنه. اگر دنبال یه راه حل کامل برای پروژههای وب خودت هستی، لاراول یکی از بهترین گزینههاست. به کمک لاراول میتونی بدون نگرانی از پیچیدگیهای کد، روی خلاقیت و نوآوری تمرکز کنی. هدف اصلی این فریمورک این بود که فرآیند توسعه وب رو سادهتر و لذتبخشتر کنه. لاراول بر اساس اصول MVC (مدل-نما-کنترلر) ساخته شده و به توسعهدهندگان این امکان رو میده که کدهای سازمانیافته و قابل فهم بنویسند. لاراول با ارائه ابزارهایی مثل Eloquent ORM که برای کار با دیتابیس استفاده میشه، Blade Template Engine که برای ساخت صفحات وب زیبا و دینامیک به کار میره، و Artisan CLI که یک ابزار خط فرمان برای اجرای دستورات مختلف است، فرآیند توسعه وب رو به شدت تسهیل کرده. این ویژگیها به توسعهدهندگان کمک میکنه تا با سرعت بیشتری پروژههای خودشون رو پیش ببرند و کمتر با مشکلات پیچیده روبرو بشن.
لاراول تو سال 2011 توسط تیلور اوتول ساخته شد. هدفش این بود که فرآیند توسعه وب رو راحتتر و بهتر کنه و خیلی زود هم به یکی از محبوبترین فریمورکهای PHP تبدیل شد. تیلور با شناخت نیازهای توسعهدهندهها و مشکلاتی که با فریمورکهای دیگه داشتن، تصمیم گرفت یه فریمورک بسازه که هم قدرتمند باشه و هم کار کردن باهاش لذتبخش. از همون اولین نسخه، لاراول با ابزارها و ویژگیهای نوآورانهاش کلی توسعهدهنده جذب کرد و با هر نسخه جدید، امکانات بیشتری اضافه کرد تا کار توسعه وب رو راحتتر کنه.
تیلور اوتول در واقع لاراول رو به عنوان جایگزینی برای فریمورک CodeIgniter ساخت. اون اعتقاد داشت که CodeIgniter یه سری کمبود داره که میشه بهترش کرد. اولین نسخه لاراول تو ژوئن 2011 منتشر شد و سریعاً توجهها رو جلب کرد. یکی از دلایل اصلی موفقیت لاراول، تمرکز روی سادگی و راحتی استفادهاش بود. تیلور با اضافه کردن ویژگیهایی مثل Eloquent ORM و Artisan CLI، کار توسعه رو خیلی راحتتر کرد. در طول سالها، لاراول با انتشار نسخههای جدید و اضافه کردن قابلیتهای بیشتر، به یه فریمورک کامل و کارآمد تبدیل شده که خیلی از شرکتها و توسعهدهندههای حرفهای ازش استفاده میکنن.
لاراول 11 با یه سری تغییرات بزرگ در ساختار دایرکتوریها اومده که کار توسعهدهندگان رو راحتتر و سریعتر میکنه. این تغییرات باعث میشن که پروژههات رو با سرعت بیشتری جلو ببری و کدهای تمیزتر و قابل فهمتری بنویسی. در اینجا به بررسی این تغییرات میپردازیم تا ببینیم چطور میتونیم از این امکانات جدید بهترین استفاده رو ببریم.
یکی از تغییرات مهم لاراول 11، سادهتر شدن ساختار دایرکتوریهاست. حالا دیگه خبری از دایرکتوریهای پیچیده و غیرضروری نیست و فقط فایلها و پوشههای ضروری باقی موندن. این یعنی وقت بیشتری برای کدنویسی و خلاقیت داری و کمتر درگیر مدیریت دایرکتوریها میشی.
در لاراول 11، دایرکتوری میانافزار (Middleware) به طور پیشفرض حذف شده و میانافزارهای مورد نیاز به App/ServiceProvider منتقل شدن. این تغییر باعث میشه که ساختار پروژهت مرتبتر و قابل فهمتر باشه و هر وقت نیاز به شخصیسازی میانافزارها داشتی، راحتتر بتونی این کار رو انجام بدی.
دیگه از دایرکتوری Http/Kernel خبری نیست! در لاراول 11، اکثر کارهایی که قبلاً در این دایرکتوری انجام میشد، حالا در فایل bootstrap/app.php انجام میشن. این تغییر کمک میکنه تا تنظیمات و پیکربندیهای پروژهت رو به صورت متمرکز و منظم مدیریت کنی.
در لاراول 11، دیگه نیازی به فراخوانی متد load() در هسته کنسول نیست. دستورات سفارشی Artisan به صورت خودکار بارگذاری میشن. این تغییر باعث کاهش پیچیدگی و افزایش سرعت توسعه میشه و کار کردن با دستورات Artisan رو خیلی راحتتر میکنه.
در لاراول 11، فایلهای پیکربندی (config) با تغییرات جدیدی روبرو شدن که فرآیند توسعه رو سریعتر و کارآمدتر میکنه. اگر قبلاً با پیکربندیهای پیچیده و وقتگیر سر و کار داشتی، حتماً این تغییرات برات جالب خواهد بود. در ادامه به بررسی این تغییرات میپردازیم و نشون میدیم چطور میتونن به بهبود پروژههای تو کمک کنن.
لاراول 11 با تغییرات جدید در فایلهای پیکربندی، فرآیند تنظیمات رو سادهتر و سریعتر کرده. حالا میتونی تنظیمات مختلف رو به راحتی مدیریت کنی و از انعطافپذیری بیشتری بهرهمند بشی. این تغییرات به گونهای طراحی شده که سرعت توسعه رو افزایش بده و کدهای پیکربندی رو قابل فهمتر کنه.
یکی از تغییرات جذاب در لاراول 11، پشتیبانی بهتر از محیطهای چندگانه است. حالا میتونی تنظیمات مختلفی برای محیطهای توسعه، تست و تولید داشته باشی و به راحتی بین این محیطها جابجا بشی. این ویژگی به خصوص برای پروژههای بزرگ و پیچیده بسیار مفیده.
لاراول 11 امکان استفاده از پیکربندی داینامیک رو فراهم کرده. این یعنی میتونی تنظیمات رو به صورت پویا و بر اساس شرایط مختلف تغییر بدی. این ویژگی به توسعهدهندگان اجازه میده تا به سرعت به نیازهای مختلف پروژه پاسخ بدن و انعطافپذیری بیشتری داشته باشن.
در نسخه 11، مدیریت کلیدهای امنیتی سادهتر شده. حالا میتونی به راحتی کلیدهای امنیتی رو مدیریت کنی و از امنیت بالاتری برخوردار بشی. این تغییرات به افزایش امنیت پروژهها و حفاظت از دادههای حساس کمک میکنه.
لاراول 11 با ارائه پیکربندی ماژولار، این امکان رو فراهم کرده که تنظیمات مختلف رو به صورت جداگانه و ماژولار مدیریت کنی. این ویژگی به خصوص برای پروژههای بزرگ که نیاز به مدیریت تنظیمات پیچیده دارن بسیار مفیده و باعث میشه که کدها سازمانیافتهتر و قابل فهمتر باشن.
در نسخه 11 لاراول، تغییرات مهمی در نحوه اجرای Casting در مدلهای Eloquent اعمال شده که به توسعهدهندگان کمک میکنه تا با سرعت و انعطاف بیشتری دادهها رو مدیریت کنن. این تغییرات به تو اجازه میده تا کدهای تمیزتر و قابل فهمتری بنویسی و از قابلیتهای جدید برای بهبود عملکرد پروژههای خودت بهره ببری.
در لاراول 11، به جای استفاده از ویژگی $casts در مدلها، میتونی از متد casts() استفاده کنی. این تغییر به تو امکان میده تا به صورت داینامیک و با استفاده از متدهای استاتیک، نوع دادهها رو تعریف کنی. این رویکرد جدید باعث افزایش انعطافپذیری و قدرت در مدیریت Castingها میشه.
حالا میتونی از کلاسهای Casting برای تعریف نوع دادهها استفاده کنی. این ویژگی به تو اجازه میده تا منطق پیچیدهتری رو در Castingها پیادهسازی کنی و از روشهای استاتیک برای تعریف انواع دادهها بهره ببری. این تغییر به خصوص برای پروژههایی که نیاز به مدیریت دادههای پیچیده دارن، بسیار مفیده.
در لاراول 11، متد casts() بر ویژگی $casts اولویت داره. این یعنی اگر هر دو رو در یک مدل تعریف کرده باشی، تنظیمات متد casts() اعمال میشه. این تغییر به تو امکان میده تا به راحتی و بدون نگرانی از تداخلها، نوع دادهها رو مدیریت کنی.
یکی از تغییرات مهم و کاربردی در لاراول 11، بهبود مدیریت Rate Limiting است. این تغییرات به تو کمک میکنه تا کنترل دقیقتری بر روی تعداد درخواستها به سرور داشته باشی و از سرور خود در برابر حملات مختلف محافظت کنی. در ادامه به بررسی این تغییرات میپردازیم.
در لاراول 11، امکان تعیین محدودیت نرخ به صورت ثانیهای اضافه شده. این ویژگی به تو اجازه میده تا تعداد دقیق درخواستها در هر ثانیه رو مشخص کنی. این قابلیت به خصوص برای APIها و سرویسهایی که نیاز به کنترل دقیقتری دارن، بسیار مفیده.
حالا میتونی محدودیت نرخ رو به صورت داینامیک و بر اساس شرایط مختلف تنظیم کنی. این تغییر به تو اجازه میده تا به سرعت و بر اساس نیازهای مختلف پروژه، محدودیتهای مختلفی رو اعمال کنی. این انعطافپذیری به بهبود کارایی و امنیت پروژههای تو کمک میکنه.
در لاراول 11، استفاده از Rate Limiting در مسیریابی سادهتر شده و میتونی به راحتی محدودیتهای مورد نظر رو در فایلهای مسیریابی خودت تعریف کنی. این تغییر باعث میشه که مدیریت درخواستها و اعمال محدودیتها بسیار راحتتر و سریعتر انجام بشه.
فرض کنید میخواید برای یک API محدودیت نرخ به صورت ثانیهای اعمال کنید. میتونید به راحتی این کار رو در فایل مسیریابی خودتون انجام بدید:
use Illuminate\Support\Facades\Route;
Route::middleware('throttle:10,1')->group(function () {
Route::get('/user', function () {
// کد شما
});
});
این تنظیم به این معناست که حداکثر 10 درخواست در هر ثانیه مجاز خواهد بود.
بهبودهای جدید در مدیریت Rate Limiting در لاراول 11، ابزارهای قدرتمندی رو در اختیار توسعهدهندگان قرار میده تا کنترل دقیقتری بر روی درخواستها داشته باشن و امنیت سرور خودشون رو افزایش بدن. با استفاده از قابلیتهای جدید مثل پشتیبانی از Rate Limiting ثانیهای و تنظیم داینامیک محدودیتها، میتونی به راحتی نیازهای مختلف پروژههای خودت رو برآورده کنی و از سرور در برابر حملات مختلف محافظت کنی. این تغییرات به بهبود عملکرد و امنیت پروژههای تو کمک شایانی میکنه.
یکی از ویژگیهای جدید و مهم در لاراول 11، قابلیت چرخش کلیدهای رمزنگاری (Encryption Key Rotation) است. این قابلیت به تو کمک میکنه تا کلیدهای امنیتی پروژهت رو بدون از دست دادن دادههای رمزنگاری شده قبلی تغییر بدی. در ادامه به بررسی این تغییرات و نحوه استفاده از اونها میپردازیم.
در لاراول 11، مدیریت کلیدهای رمزنگاری بسیار سادهتر شده و میتونی به راحتی کلیدهای جدید رو اضافه کنی و کلیدهای قبلی رو نگه داری. این ویژگی به تو اجازه میده تا به صورت دورهای کلیدهای امنیتی رو تغییر بدی و از امنیت بالاتری برخوردار بشی.
برای استفاده از قابلیت چرخش کلیدهای رمزنگاری، میتونی از متغیرهای محیطی جدید استفاده کنی. این متغیرها به تو اجازه میدن تا کلیدهای قبلی رو نگه داری و دادههای قدیمی رو با استفاده از این کلیدها رمزگشایی کنی. این تغییر باعث میشه که انتقال به کلیدهای جدید بدون از دست دادن دادههای قبلی انجام بشه.
قابلیت چرخش کلیدهای رمزنگاری به بهبود امنیت پروژهها کمک شایانی میکنه. با این ویژگی، میتونی به راحتی کلیدهای امنیتی رو بهروزرسانی کنی و از دادههای حساس پروژهت در برابر تهدیدات مختلف محافظت کنی.
فرض کن میخوای کلید رمزنگاری پروژهت رو تغییر بدی. برای این کار، میتونی از متغیرهای محیطی جدید در فایل .env استفاده کنی:
APP_KEY=new_key
APP_PREVIOUS_KEYS="old_key1,old_key2"
با این تنظیمات، لاراول به صورت خودکار دادهها رو با استفاده از کلید جدید رمزنگاری و دادههای قدیمی رو با کلیدهای قبلی رمزگشایی میکنه.
ویژگیهای جدید در مدیریت کلیدهای رمزنگاری در لاراول 11، ابزارهای قدرتمندی رو در اختیار توسعهدهندگان قرار میده تا امنیت پروژهها رو بهبود ببخشند. با استفاده از قابلیت چرخش کلیدهای رمزنگاری، میتونی به راحتی کلیدهای امنیتی رو تغییر بدی و دادههای حساس رو محافظت کنی. این تغییرات به تو کمک میکنه تا پروژههای ایمنتر و کارآمدتری داشته باشی.
یکی از تغییرات مهم و کاربردی در لاراول 11، بهبود مدیریت مسیرهای API است. این تغییرات به تو کمک میکنن تا ساختار پروژههای API محور خودت رو بهینهتر کنی و با سرعت بیشتری مسیرهای API رو تعریف و مدیریت کنی. در ادامه به بررسی این تغییرات و نحوه استفاده از آنها میپردازیم.
در لاراول 11، مسیرهای API به صورت اختیاری ارائه میشن. این یعنی میتونی با اجرای یک دستور ساده، مسیرهای API مورد نیاز خودت رو اضافه کنی. این ویژگی بهت اجازه میده تا پروژههای سادهتر و با ساختار تمیزتری ایجاد کنی و فقط در صورت نیاز مسیرهای API رو به پروژه اضافه کنی.
برای اضافه کردن مسیرهای API به پروژه، میتونی از دستور جدید Artisan استفاده کنی. این دستور به تو کمک میکنه تا فایلهای مورد نیاز برای مسیرهای API رو به پروژه خودت اضافه کنی و تنظیمات لازم رو انجام بدی.
در لاراول 11، ساختار فایلهای مسیر بهبود یافته و تنها دو فایل مسیر به صورت پیشفرض وجود خواهد داشت: web.php و console.php. مسیرهای API و دیگر مسیرهای خاص رو میتونی با استفاده از دستورات Artisan به پروژه اضافه کنی. این تغییر باعث میشه که مدیریت مسیرها سادهتر و کارآمدتر باشه.
فرض کن میخوای مسیرهای API رو به پروژه لاراول خودت اضافه کنی. میتونی از دستور زیر برای این کار استفاده کنی:
php artisan install:api
این دستور فایلهای لازم برای مسیرهای API را به پروژه شما اضافه میکن و ساختار مناسبی برای مدیریت این مسیرها فراهم میکنه.
در کنار نصب مسیرهای API، میتونی از لاراول Sanctum برای مدیریت احراز هویت و دسترسی به مسیرهای API استفاده کنی. با نصب Sanctum، امکانات امنیتی و مدیریت توکنهای دسترسی به راحتی در دسترس تو خواهد بود.
تغییرات جدید در مدیریت مسیرهای API در لاراول 11، به تو کمک میکنن تا ساختار پروژههای خودت رو بهینهتر و کارآمدتر کنی. با استفاده از قابلیتهای جدید مثل نصب اختیاری مسیرهای API و بهبود ساختار فایلهای مسیر، میتونی پروژههای سادهتر و تمیزتری ایجاد کنی و با سرعت بیشتری مسیرهای API رو مدیریت کنی. این تغییرات به بهبود کارایی و عملکرد پروژههای API محور تو کمک شایانی میکنن.
یکی از ویژگیهای جدید و هیجانانگیز در لاراول 11، Trait جدیدی به نام Dumpable است. این قابلیت به توسعهدهندگان اجازه میده تا با استفاده از متدهای دیباگ مانند dump() و dd()، فرآیند اشکالزدایی رو سریعتر و کارآمدتر انجام بدن. در ادامه به بررسی این ویژگی جدید و نحوه استفاده از اون میپردازیم.
با استفاده از Trait Dumpable، میتونی به راحتی متدهای دیباگ رو به هر کلاسی اضافه کنی. این قابلیت به تو کمک میکنه تا در هنگام توسعه و تست کدها، اطلاعات مفیدی رو به سرعت دریافت کنی و مشکلات رو سریعتر پیدا و رفع کنی.
فرض کن میخوای در یک کلاس از متدهای دیباگ dump() و dd() استفاده کنی. با استفاده از Trait Dumpable میتونی این کار رو به راحتی انجام بدی:
namespace App\ValueObjects;
use Illuminate\Support\Traits\Dumpable;
use Illuminate\Support\Traits\Conditionable;
class Address
{
use Conditionable, Dumpable;
// ...
}
$address = new Address;
// استفاده از متد dd() برای دیباگ
$address->foo()->dd()->bar();
در این مثال، Trait Dumpable به کلاس Address اضافه شده و میتونی به راحتی از متدهای دیباگ در این کلاس استفاده کنی.
Trait جدید Dumpable در لاراول 11، ابزار قدرتمندی رو در اختیار توسعهدهندگان قرار میده تا فرآیند اشکالزدایی رو سریعتر و کارآمدتر انجام بدن. با استفاده از این Trait، میتونی به راحتی متدهای دیباگ مثل dump() و dd() رو به کلاسهای خودت اضافه کنی و مشکلات رو به سرعت پیدا و رفع کنی. این تغییرات به بهبود کارایی و بهرهوری در توسعه و تست پروژهها کمک شایانی میکنن.
برای نصب لاراول 11، میتونی از دستور زیر استفاده کنی:
composer create-project --prefer-dist laravel/laravel hello-world dev-master
مهمترین تغییرات شامل بهبود در ساختار دایرکتوری، مدیریت Migrationها، Rate Limiting، مدیریت کلیدهای رمزنگاری و اضافه شدن Trait جدید Dumpable است.
بله، لاراول 11 با PHP 8.2 کار میکنه و به حداقل این نسخه از PHP نیاز داره.
در لاراول 11، برخی از Migrationها ادغام شده و تعداد فایلهای پیشفرض کاهش یافته است. برای ایجاد تغییرات در دیتابیس، میتونی از متدهای جدید معرفی شده در این نسخه استفاده کنی.
قابلیت چرخش کلیدهای رمزنگاری به تو اجازه میده تا کلیدهای امنیتی پروژهت رو بدون از دست دادن دادههای رمزنگاری شده قبلی تغییر بدی. میتونی از متغیرهای محیطی جدید در فایل .env استفاده کنی:
APP_KEY=new_key
APP_PREVIOUS_KEYS="old_key1,old_key2"
مسیرهای API به صورت اختیاری ارائه میشن و میتونی با استفاده از دستور زیر مسیرهای API مورد نیاز خودت رو اضافه کنی:
php artisan install:api
Trait جدید Dumpable به تو امکان میده تا متدهای دیباگ مانند dump() و dd() رو به راحتی در کلاسها استفاده کنی. این قابلیت به تسریع فرآیند اشکالزدایی کمک میکنه.
در لاراول 11، امکان تعیین محدودیت نرخ به صورت ثانیهای اضافه شده است. این ویژگی به تو اجازه میده تا تعداد دقیق درخواستها در هر ثانیه رو مشخص کنی و از سرور خودت در برابر حملات مختلف محافظت کنی.
در این مقاله با امکانات و ویژگیهای جدید لاراول 11 آشنا شدیم. این نسخه با تغییرات مهمی در ساختار دایرکتوری، مدیریت Migrationها، Rate Limiting، مدیریت کلیدهای رمزنگاری و اضافه شدن Trait جدید Dumpable همراه بوده است. این تغییرات به توسعهدهندگان کمک میکنن تا پروژههای خود رو سریعتر، سادهتر و کارآمدتر مدیریت کنن.
ساختار دایرکتوری سادهتر شده و بسیاری از دایرکتوریهای غیرضروری حذف شدن. Migrationها بهبود یافته و با تعداد فایلهای کمتر و ادغام شده ارائه میشن. Rate Limiting با قابلیت تنظیم دقیقتر و به صورت ثانیهای، امنیت بیشتری رو فراهم میکنه. مدیریت کلیدهای رمزنگاری با قابلیت چرخش کلید، امنیت دادهها رو افزایش میده و Trait جدید Dumpable فرآیند دیباگ رو بسیار سادهتر کرده.
همچنین با تغییرات جدید در مدیریت مسیرهای API، میتونی به راحتی و با استفاده از دستورات Artisan مسیرهای مورد نیاز خودت رو اضافه کنی. این تغییرات نشاندهنده تعهد لاراول به بهبود تجربه توسعهدهندگان و افزایش کارایی پروژههاست.
حالا که با این ویژگیهای جدید آشنا شدی، وقتشه که نظرات و تجربیات خودت رو با ما به اشتراک بذاری. آیا این تغییرات برات مفید بودن؟ چه انتظارات دیگهای از لاراول 11 داری؟ کامنت بذار و با ما در ارتباط باش! 🚀