سبد (0)

انتخاب نام برای routeها در لاراول

ساده ترین راه برای اشاره به routeها در دیگر جاهای اپلیکیشن، این است که مسیر آنها را ذکر کنیم. برای انجام این کار می توانید از تابع ()url استفاده کنید. به مثال 3.8 توجه کنید. در این مثال، دامنه ی کامل سایت، در نظر گرفته خواهد شد. 

<a href="/<?php echo url('/'); ?>">
// خروجی: <a href="http://myapp.com/">

 اما لاراول به ما امکان می دهد تا هریک از routeها را نام گذاری کنیم. این کار به ما امکان می دهد تا بطور غیرمستقیم به routeها اشاره کنیم. این کار بسیار به ما کمک می کند زیرا به وسیله ی آن می توانیم برای routeهای پیچیده، نام های مستعاری را تعریف کنیم. همچنین اگر بعدا این مسیرها تغییر کنند، دیگر نیازی نداریم تا لینک های خود را بازنویسی کنیم. به مثال 3.9 توجه کنید:

// Defining a route with name in routes/web.php:
Route::get('members/{id}', 'MembersController@show')->name('members.show');
// Link the route in a view using the route() helper
<a href="/<?php echo route('members.show', ['id' => 14]); ?>">

در مثال بالا، چند مفهوم جدید وجود دارند. ابتدا ما پس از متد get از متدی به نام ()name استفاده کرده ایم و یک نام مستعار برای route خود ایجاد کرده ایم. متد ()name به ما امکان می دهد تا routeها را نام گذاری کنیم. این نام گذاری ساده به ما امکان می دهد تا در جاهای دیگر به راحتی بتوانیم از routeها استفاده کنیم. 


 تعریف routeهای شخصی در لاراول 5.1

روش نام گذاری ساده ی routeها، در لاراول 5.1 وجود ندارد. به جای آن می توانیم از یک آرایه بعنوان دومین پارامتر route استفاده کنیم. برای اطلاعات بیشتر به داکیومنت های لاراول مراجعه کنید. همچنین به مثال زیر در این مورد توجه کنید: 

Route::get('members/{id}', [
   'as' => 'members.show',
   'uses' => 'MembersController@show'
]);

 


 در مثال 3.9 ما route خودمان را به صورت members.show نام گذاری کردیم. 

 


 قراردادهای نام گذاری routeها

شما می توانید هر نامی که دوست دارید را برای route خود انتخاب کنید اما رسم بر این است که ابتدا نام منبع و سپس یک نقطه و سپس نام اکشن را بنویسیم. آنچه در زیر مشاهده می کنید، پرکاربرد ترین routeهایی هستند که برای یک منبع به نام photo می توان نوشت:

به نظر می رسد که نام منبع، همان نام کنترلر باشد.

photos.index
photos.create
photos.store
photos.show
photos.edit
photos.update
photos.destroy

 


 در مثال های بالا، با متد ()route نیز آشنا شدیم. این متد درست مثل متد ()url برای استفاده در viewها به منظور ساده سازی اتصال به یک route نام گذاری شده، در نظر گرفته شده است. در صورتی که route مورد نظر هیچ پارامتری نداشته باشد، به سادگی می توانیم نام آن route را به متد ()route پاس دهیم و یک مسیر را به دست بیاوریم. بعنوان مثال اگر داشته باشیم: ('route('members.index آنگاه مسیر رشته ای زیر را به دست خواهیم آورد: 

http://myapp.com/members/index

 

اما اگر route ما دارای پارامتر باشد، کافیست پارامترها را به صورت یک آرایه و بعنوان آرگومان دوم متد get در نظر بگیرید. 

به طور کلی، توصیه می کنیم که برای اشاره به routeهای خود، به جای استفاده از مسیر آن route، از نام مستعار routeها استفاده کنید؛ و بنابراین به جای متد ()url از متد ()route استفاده کنید. 

تمامی محصولات و خدمات این وبسایت، حسب مورد دارای مجوزهای لازم از مراجع مربوطه می‌باشند و فعالیت‌های این سایت تابع قوانین و مقررات جمهوری اسلامی ایران است.
logo-samandehi مجوز نشر دیجیتال از وزرات فرهنگ و ارشاد اسلامی پرداخت آنلاین -  بانک ملت معرفی بیاموز در شبکه سه