فهرست:
در لاراول روت نامگذاری شده برای دادن نام خاص به یک روت استفاده می شود. نام را می توان با استفاده از کلید آرایه “as
” اختصاص داد.
[pastacode lang=”php” manual=”Route%3A%3Aget(‘user%2Fprofile’%2C%20%5B’as’%20%3D%3E%20’profile’%2C%20function%20()%20%7B%0A%20%20%20%2F%2F%0A%7D%5D)%3B” message=”” highlight=”” provider=”manual”/]
نکته: در اینجا، ما مشخصات profile
را به یک user/profile
مسیر داده ایم.
Redirecting به روت های نام گذاری شده
برای درک بیشتر در مورد Redirect
به روت های نام گذاری شده ، مثال زیر را مشاهده کنید. فایل resources/views/test.php
را با متحویات زیر ایجاد کنید.
[pastacode lang=”markup” manual=”%3Chtml%3E%0A%20%20%20%3Cbody%3E%0A%20%20%20%20%20%20%3Ch1%3EExample%20of%20Redirecting%20to%20Named%20Routes%3C%2Fh1%3E%0A%20%20%20%3C%2Fbody%3E%0A%3C%2Fhtml%3E” message=”resources/views/test.php” highlight=”” provider=”manual”/]
در فایل route.php
روت را برای فایل test.php
تنظیم و نام آن را به testing
تغییر دادیم. همچنین در یک روت redirect را به روتی که تغییر نام داده ایم انجام می دهیم تابرای در خواست مورد نظر به روت نامگذاری شده هدایت شویم.
[pastacode lang=”php” manual=”Route%3A%3Aget(‘%2Ftest’%2C%20%5B’as’%3D%3E’testing’%2Cfunction()%20%7B%0A%20%20%20return%20view(‘test’)%3B%0A%7D%5D)%3B%0A%0ARoute%3A%3Aget(‘redirect’%2Cfunction()%20%7B%0A%20%20%20return%20redirect()-%3Eroute(‘testing’)%3B%0A%7D)%3B” message=”app/Http/routes.php” highlight=”” provider=”manual”/]
حال به آدرس زیر مراجعه کنید.
[pastacode lang=”markup” manual=”http%3A%2F%2Flocalhost%3A8000%2Fredirect” message=”” highlight=”” provider=”manual”/]
پس از اجرای URL
بالا ، شما به http://localhost:8000/test
به روت نام گذاری شده هدایت می شوید و خروجی مرورگر شما باید مطابق زیر باشد.
[pastacode lang=”markup” manual=”Example%20of%20Redirecting%20to%20Named%20Routes” message=”” highlight=”” provider=”manual”/]
Redirecting to Controller Actions
علاوه بر ریدایرکت به روت های نام گذاری شده می توانیم همانند مثال زیر برای action کنترلرها نیز ریدایرکت اعمال کنیم، در این روش چنانچه بخواهیم یک پارامتر را نیز منتقل کنیم می توانیم آن را به عنوان دومین آرگومان متد ارسال نماییم.
[pastacode lang=”markup” manual=”return%20redirect()-%3Eaction(‘NameOfController%40methodName’%2C%5Bparameters%5D)%3B” message=”” highlight=”” provider=”manual”/]
برای درک بهتر توضیحات بالا را در قالب یک مثال کاربردی بررسی می کنیم، با خط فرمان زیر یک کنترلر به نام RedirectController
ایجاد می کنیم.
[pastacode lang=”markup” manual=”php%20artisan%20make%3Acontroller%20RedirectController%20–plain%0A” message=”” highlight=”” provider=”manual”/]
بعد از اجرای دستور بالا فایل RedirectController.php
ایجاد می شود آن را بصورت زیر ویرایش نمایید.
[pastacode lang=”php” manual=”%3C%3Fphp%0A%0Anamespace%20App%5CHttp%5CControllers%3B%0A%0Ause%20Illuminate%5CHttp%5CRequest%3B%0Ause%20App%5CHttp%5CRequests%3B%0Ause%20App%5CHttp%5CControllers%5CController%3B%0A%0Aclass%20RedirectController%20extends%20Controller%20%7B%0A%20%20%20public%20function%20index()%20%7B%0A%20%20%20%20%20%20echo%20%22Redirecting%20to%20controller’s%20action.%22%3B%0A%20%20%20%7D%0A%7D” message=”app/Http/Controllers/RedirectController.php” highlight=”” provider=”manual”/]
سپس فایل routes.php بصورت زیر تغییر دهید.
[pastacode lang=”php” manual=”Route%3A%3Aget(‘rr’%2C’RedirectController%40index’)%3B%0ARoute%3A%3Aget(‘%2Fredirectcontroller’%2Cfunction()%20%7B%0A%20%20%20return%20redirect()-%3Eaction(‘RedirectController%40index’)%3B%0A%7D)%3B” message=”app/Http/routes.php” highlight=”” provider=”manual”/]
حال آدرس زیر را اجرا نمایید.
[pastacode lang=”markup” manual=”http%3A%2F%2Flocalhost%3A8000%2Fredirectcontroller” message=”” highlight=”” provider=”manual”/]
خروجی مرورگر شما باید بصورت زیر باشد.
[pastacode lang=”markup” manual=”Redirecting%20to%20controller’s%20action.” message=”” highlight=”” provider=”manual”/]