سلام به همه! امروز میخواهیم در مورد یکی از ویژگیهای جالب لاراول ۱۱ صحبت کنیم که به شما این امکان رو میده که با استفاده از متد ResourceRegistrar::prefixedResource()
، مسیرهای پیشرفتهتری برای کنترلرهای خود بسازید. این ویژگی بهویژه برای هنگامی که میخواهید مسیری خاص با پیشوند مشخصی داشته باشید، مفید است.
بهطور مثال، فرض کنید شما یک وبسایت فروشگاهی دارید و میخواهید RESTful API ایجاد کنید. استفاده از متد prefixedResource
به شما این امکان را میدهد که برای مجموعهای از منابع URLهایی با پیشوند خاص بسازید. این موضوع میتواند به بهبود سازماندهی سورس کد شما کمک کند و ضمن حفظ استانداردها، کد شما را خواناتر نماید.
قبل از هر چیز باید مطمئن شوید که کنترلر و مدلهای مورد نیاز برای ایجاد این مسیرها را دارید. پس از آن، با استفاده از این متد، مسیرها را تعریف میکنید. لاراول بهطور خودکار مسیرهای CRUD را برای شما ایجاد میکند، در نتیجه لازم نیست هر بار خودتان آنها را بنویسید.
حالا بیایید نگاهی به چگونگی استفاده از prefixedResource
داشته باشیم. ما در این مثال از یک پروژه کوچک استفاده خواهیم کرد که یک منبع به نام products
را مدیریت میکند.
Route::prefix('api')->group(function () {
Route::resource('products', ProductController::class);
});
توضیحات کد
در اینجا ما یک گروه مسیر ایجاد کردهایم که با api
شروع میشود:
Route::prefix('api')->group(function () { ... });
سپس با استفاده از Route::resource('products', ProductController::class);
، مسیرهای مربوط به کنترلر محصولات را تعریف میکنیم:
Route::resource('products', ProductController::class);
این کد بهطور خودکار مسیرهای GET
، POST
، PUT
و DELETE
را برای محصولات شما ایجاد میکند.