فهرست:

در لاراول روت نامگذاری شده برای دادن نام خاص به یک روت استفاده می شود. نام را می توان با استفاده از کلید آرایه “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”/]