لاراول یه فریمورک 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:apiTrait جدید Dumpable به تو امکان میده تا متدهای دیباگ مانند dump() و dd() رو به راحتی در کلاسها استفاده کنی. این قابلیت به تسریع فرآیند اشکال زدایی کمک میکنه.
در لاراول 11، امکان تعیین محدودیت نرخ به صورت ثانیه ای اضافه شده است. این ویژگی به تو اجازه میده تا تعداد دقیق درخواستها در هر ثانیه رو مشخص کنی و از سرور خودت در برابر حملات مختلف محافظت کنی.
در این مقاله با امکانات و ویژگیهای جدید لاراول 11 آشنا شدیم. این نسخه با تغییرات مهمی در ساختار دایرکتوری، مدیریت Migration ها، Rate Limiting، مدیریت کلیدهای رمزنگاری و اضافه شدن Trait جدید Dumpable همراه بوده است. این تغییرات به توسعه دهندگان کمک میکنن تا پروژههای خود رو سریع تر، سادهتر و کارآمدتر مدیریت کنن.
ساختار دایرکتوری سادهتر شده و بسیاری از دایرکتوریهای غیرضروری حذف شدن. Migrationها بهبود یافته و با تعداد فایلهای کمتر و ادغام شده ارائه میشن. Rate Limiting با قابلیت تنظیم دقیقتر و به صورت ثانیه ای، امنیت بیشتری رو فراهم میکنه. مدیریت کلیدهای رمزنگاری با قابلیت چرخش کلید، امنیت دادهها رو افزایش میده و Trait جدید Dumpable فرآیند دیباگ رو بسیار سادهتر کرده.
همچنین با تغییرات جدید در مدیریت مسیرهای API، میتونی به راحتی و با استفاده از دستورات Artisan مسیرهای مورد نیاز خودت رو اضافه کنی. این تغییرات نشان دهنده تعهد لاراول به بهبود تجربه توسعه دهندگان و افزایش کارایی پروژه هاست.
حالا که با این ویژگیهای جدید آشنا شدی، وقتشه که نظرات و تجربیات خودت رو با ما به اشتراک بذاری. آیا این تغییرات برات مفید بودن؟ چه انتظارات دیگه ای از لاراول 11 داری؟ کامنت بذار و با ما در ارتباط باش! 🚀
دوره الفبای برنامه نویسی با هدف انتخاب زبان برنامه نویسی مناسب برای شما و پاسخگویی به سوالات متداول در شروع یادگیری موقتا رایگان شد: