فهرست:

بازیابی درخواست URI

از متد path برای بازیابی URI درخواستی استفاده می شود. از متد is بررسی صحیح بودن URI درخواستی استفاده می شود که آیا با الگویی که در آرگومان متد مشخص شده مطابقت دارد یا خیر و برای دریافت URL کامل، می توانیم از متد url استفاده کنیم. برای بررسی بهتر مثال زیر را بررس فرماید. ابتدا با خط فرمان زیر کنترلر UriController ایجاد می کنیم.

[pastacode lang=”markup” manual=”php%20artisan%20make%3Acontroller%20UriController%20%E2%80%93plain” message=”” highlight=”” provider=”manual”/]

بعد از ساخت کنترلر فایل app/Http/Controllers/UriController.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%20UriController%20extends%20Controller%20%7B%0A%20%20%20%0A%20%20%20public%20function%20index(Request%20%24request)%20%7B%0A%20%20%20%20%20%20%2F%2F%20Usage%20of%20path%20method%0A%20%20%20%20%20%20%24path%20%3D%20%24request-%3Epath()%3B%0A%20%20%20%20%20%20echo%20’Path%20Method%3A%20′.%24path%3B%0A%20%20%20%20%20%20echo%20’%3Cbr%3E’%3B%0A%20%20%20%20%20%0A%20%20%20%20%20%20%2F%2F%20Usage%20of%20is%20method%0A%20%20%20%20%20%20%24pattern%20%3D%20%24request-%3Eis(‘foo%2F*’)%3B%0A%20%20%20%20%20%20echo%20’is%20Method%3A%20′.%24pattern%3B%0A%20%20%20%20%20%20echo%20’%3Cbr%3E’%3B%0A%20%20%20%20%20%20%0A%20%20%20%20%20%20%2F%2F%20Usage%20of%20url%20method%0A%20%20%20%20%20%20%24url%20%3D%20%24request-%3Eurl()%3B%0A%20%20%20%20%20%20echo%20’URL%20method%3A%20′.%24url%3B%0A%20%20%20%7D%0A%7D” message=”app/Http/Controllers/UriController.php” highlight=”” provider=”manual”/]

حال فایل app/Http/route.php بصورت زیر ویرایش کنید.

[pastacode lang=”php” manual=”Route%3A%3Aget(‘%2Ffoo%2Fbar’%2C’UriController%40index’)%3B%0A” message=”app/Http/route.php” highlight=”” provider=”manual”/]

حال آدرس زیر را باز کنید

[pastacode lang=”markup” manual=”http%3A%2F%2Flocalhost%3A8000%2Ffoo%2Fbar%0A” message=”” highlight=”” provider=”manual”/]

خروجی مرورگر شما باید بصورت زیر باشد.

[pastacode lang=”markup” manual=”Path%20Method%3A%20foo%2Fbar%0Ais%20Method%3A%201%0AURL%20method%3A%20http%3A%2F%2Flocalhost%3A8000%2Ffoo%2Fbar” message=”” highlight=”” provider=”manual”/]

بازیابی Input

در لاراول مقادیر ورودی را می توان به راحتی بازیابی کرد. مهم نیست که چه روشی از “GET” یا “POST” استفاده شده است ، لاراول مقادیر ورودی هر دو روش را به همان روش بازیابی می کند. به دو روش می توان مقادیر ورودی را بازیابی کرد.

  • با استفاده از متد input
  • با استفاده از Request instance

استفاده از متد input

متد input نام فیلد مورد نظر را به شکل یک یک آرگومان دریافت می کند مثالا اگر فرم شامل دارای فیلدی به نام username باشد، از طریق زیر می توانیم به آن دسترسی پیدا کنیم.

[pastacode lang=”php” manual=”%24name%20%3D%20%24request-%3Einput(‘username’)%3B” message=”” highlight=”” provider=”manual”/]

استفاده از Request instance

مانند متد input، می توانیم ویژگی username را مستقیماً از Request instance دریافت کنیم.

[pastacode lang=”php” manual=”%24request-%3Eusername%0A” message=”” highlight=”” provider=”manual”/]

برای درک بهتر مثال زیر را بررسی کنید، یک فرم ثبت نام ایجاد کنید ، جایی که کاربر بتواند خود را ثبت نام کند برای این منظور فرم زیر را در resources/views/register.php ایجاد کنید.

[pastacode lang=”markup” manual=”%3Chtml%3E%0A%0A%20%20%20%3Chead%3E%0A%20%20%20%20%20%20%3Ctitle%3EForm%20Example%3C%2Ftitle%3E%0A%20%20%20%3C%2Fhead%3E%0A%0A%20%20%20%3Cbody%3E%0A%20%20%20%20%20%20%3Cform%20action%20%3D%20%22%2Fuser%2Fregister%22%20method%20%3D%20%22post%22%3E%0A%20%20%20%20%20%20%20%20%20%3Cinput%20type%20%3D%20%22hidden%22%20name%20%3D%20%22_token%22%20value%20%3D%20%22%3C%3Fphp%20echo%20csrf_token()%20%3F%3E%22%3E%0A%20%20%20%20%20%20%0A%20%20%20%20%20%20%20%20%20%3Ctable%3E%0A%20%20%20%20%20%20%20%20%20%20%20%20%3Ctr%3E%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Ctd%3EName%3C%2Ftd%3E%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Ctd%3E%3Cinput%20type%20%3D%20%22text%22%20name%20%3D%20%22name%22%20%2F%3E%3C%2Ftd%3E%0A%20%20%20%20%20%20%20%20%20%20%20%20%3C%2Ftr%3E%0A%20%20%20%20%20%20%20%20%20%20%20%20%3Ctr%3E%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Ctd%3EUsername%3C%2Ftd%3E%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Ctd%3E%3Cinput%20type%20%3D%20%22text%22%20name%20%3D%20%22username%22%20%2F%3E%3C%2Ftd%3E%0A%20%20%20%20%20%20%20%20%20%20%20%20%3C%2Ftr%3E%0A%20%20%20%20%20%20%20%20%20%20%20%20%3Ctr%3E%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Ctd%3EPassword%3C%2Ftd%3E%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Ctd%3E%3Cinput%20type%20%3D%20%22text%22%20name%20%3D%20%22password%22%20%2F%3E%3C%2Ftd%3E%0A%20%20%20%20%20%20%20%20%20%20%20%20%3C%2Ftr%3E%0A%20%20%20%20%20%20%20%20%20%20%20%20%3Ctr%3E%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Ctd%20colspan%20%3D%20%222%22%20align%20%3D%20%22center%22%3E%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Cinput%20type%20%3D%20%22submit%22%20value%20%3D%20%22Register%22%20%2F%3E%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3C%2Ftd%3E%0A%20%20%20%20%20%20%20%20%20%20%20%20%3C%2Ftr%3E%0A%20%20%20%20%20%20%20%20%20%3C%2Ftable%3E%0A%20%20%20%20%20%20%0A%20%20%20%20%20%20%3C%2Fform%3E%0A%20%20%20%3C%2Fbody%3E%0A%3C%2Fhtml%3E” message=”resources/views/register.php” highlight=”” provider=”manual”/]

دستور زیر را برای ایجاد کنترلر UserRegistration اجرا کنید.

[pastacode lang=”markup” manual=”php%20artisan%20make%3Acontroller%20UserRegistration%20–plain” message=”” highlight=”” provider=”manual”/]

بعد از ایجاد کنترلر فایل app/Http/Controllers/UserRegistration.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%20UserRegistration%20extends%20Controller%20%7B%0A%20%20%20public%20function%20postRegister(Request%20%24request)%20%7B%0A%20%20%20%20%20%20%2F%2FRetrieve%20the%20name%20input%20field%0A%20%20%20%20%20%20%24name%20%3D%20%24request-%3Einput(‘name’)%3B%0A%20%20%20%20%20%20echo%20’Name%3A%20′.%24name%3B%0A%20%20%20%20%20%20echo%20’%3Cbr%3E’%3B%0A%20%20%20%20%20%20%0A%20%20%20%20%20%20%2F%2FRetrieve%20the%20username%20input%20field%0A%20%20%20%20%20%20%24username%20%3D%20%24request-%3Eusername%3B%0A%20%20%20%20%20%20echo%20’Username%3A%20′.%24username%3B%0A%20%20%20%20%20%20echo%20’%3Cbr%3E’%3B%0A%20%20%20%20%20%20%0A%20%20%20%20%20%20%2F%2FRetrieve%20the%20password%20input%20field%0A%20%20%20%20%20%20%24password%20%3D%20%24request-%3Epassword%3B%0A%20%20%20%20%20%20echo%20’Password%3A%20′.%24password%3B%0A%20%20%20%7D%0A%7D” message=”app/Http/Controllers/UserRegistration.php” highlight=”” provider=”manual”/]

حال فایل app/Http/routes.php را بصورت زیر تغییر دهید.

[pastacode lang=”php” manual=”Route%3A%3Aget(‘%2Fregister’%2Cfunction()%20%7B%0A%20%20%20return%20view(‘register’)%3B%0A%7D)%3B%0ARoute%3A%3Apost(‘%2Fuser%2Fregister’%2Carray(‘uses’%3D%3E’UserRegistration%40postRegister’))%3B” message=”app/Http/routes.php” highlight=”” provider=”manual”/]

به URL زیر مراجعه کنید و فرم ثبت نام را پر نموده و بر روی دکمه Register کلیک کنید خروجی مرورگر شما با توجه به فیلد های پر شده در فرم ثبت نام خواهد بود.

[pastacode lang=”markup” manual=”http%3A%2F%2Flocalhost%3A8000%2Fregister” message=”” highlight=”” provider=”manual”/]