ورود / ثبت نام سبد خرید 0
در این آموزش از سری درس های آموزش فریمورک لاراول ، به بحث request ها یا درخواست در فریمورک لاراول خواهیم پرداخت.
در فریمورک لاراول متودی به نام path وجود دارد که url مربوط به درخواست ها را بازیابی میکند. یک متود دیگری به نام is وجود دارد که url را مطابق با الگوی تعریف شده به همراه آرگومان ها برمیگرداند.
اگر قصد دارید url را بصورت کامل بازیافت کنید میتوانید از متودی به نام url استفاده کنید.
مثال
قدم 1 - دستورات زیر را اجرا کنید تا یک کنترلر به نام UriController ساخته شود.
php artisan make:controller UriController –plain
قدم 2 - بعد از اجرای دستور بالا در ترمینال یا کامند پرومپ نتیجه باید مشابه تصویر زیر باشد.
قدم 3 - بعد از ساختن کنترلر کد زیر را به مسیر app/Http/Controllers/UriController.php اضافه کنید.
<?php namespace App\Http\Controllers; use Illuminate\Http\Request; use App\Http\Requests; use App\Http\Controllers\Controller; class UriController extends Controller { public function index(Request $request) { // Usage of path method $path = $request->path(); echo 'Path Method: '.$path; echo '<br>'; // Usage of is method $pattern = $request->is('foo/*'); echo 'is Method: '.$pattern; echo '<br>'; // Usage of url method $url = $request->url(); echo 'URL method: '.$url; } }
قدم 4 - کدهای زیر را به مسیر route های خود اضافه کنید.
Route::get('/foo/bar','UriController@index');
قدم 5 - از طریق مرورگر url زیر را بازدید کنید.
http://localhost:8000/foo/bar
قدم 6 - نتیجه باید مشابه تصویر زیر باشد.
مقدار input به راحتی در فریمورک لاراول قابل بازیابی است مهم نیست کدام یک از متود های get یا post استفاده شده باشد. فریمورک لاراول هر دو متود را به یک شیوه بازیابی خواهد کرد.
در فریمورک لاراول دو راه وجود دارد که مقدار input را بدست بیاوریم:
متود input یک آرگومان قبول میکند که همان نام فیلد در فرمی است که آنرا ارسال کرده است.برای مثال اگر در فرم یک input با نام username وجود داشته باشد به شکل زیر باید کدنویسی کنید.
$name = $request->input('username');
همانند متود input ما میتوانیم مقدار username را بصورت مستقیم از instance مربوط به request دریافت کنیم.
$request->username
مثال زیر را برای درک بیشتر Request ها در لاراول در نظر داشته باشید.
قدم 1 - یک فرم ثبت نام بسازید تا یوزر بتواند در آن ثبت نام انجام دهد و ذخیره سازی انجام دهد. کدهای زیر را در مسیر resources/views/register.php کپی کنید.
<html> <head> <title>Form Example</title> </head> <body> <form action = "/user/register" method = "post"> <input type = "hidden" name = "_token" value = "<?php echo csrf_token() ?>"> <table> <tr> <td>Name</td> <td><input type = "text" name = "name" /></td> </tr> <tr> <td>Username</td> <td><input type = "text" name = "username" /></td> </tr> <tr> <td>Password</td> <td><input type = "text" name = "password" /></td> </tr> <tr> <td colspan = "2" align = "center"> <input type = "submit" value = "Register" /> </td> </tr> </table> </form> </body> </html>
قدم 2 - دستور زیر را اجرا کنید تا یک کنترلر جدید به نام UserRegistration ساخته شود.
php artisan make:controller UserRegistration --plain
قدم 3 - بعد از اجرای موفقیت آمیز کدهای بالا در ترمینال باید نتیجه مشابه تصویر زیر باشد.
قدم 4 - کد های زیر را در کنترلر مسیر app/Http/Controllers/UserRegistration.php کپی کنید.
<?php namespace App\Http\Controllers; use Illuminate\Http\Request; use App\Http\Requests; use App\Http\Controllers\Controller; class UserRegistration extends Controller { public function postRegister(Request $request) { //Retrieve the name input field $name = $request->input('name'); echo 'Name: '.$name; echo '<br>'; //Retrieve the username input field $username = $request->username; echo 'Username: '.$username; echo '<br>'; //Retrieve the password input field $password = $request->password; echo 'Password: '.$password; } }
قدم 5 - کدهای زیر را به مسیر route های خود اضافه کنید.
Route::get('/register',function() { return view('register'); }); Route::post('/user/register',array('uses'=>'UserRegistration@postRegister'));
قدم 6 - به آدرس url زیر توسط مرورگر خود مراجعه کنید و نتیجه که یک فرم ثبت نامی لاراول هست را مشاهده کنید.
بعد از مشاهده فرم و در صورت پرکردن و ارسال فرم در صفحه ی بعدی شما اطلاعات فرم را مشاهده خواهید کرد.
http://localhost:8000/register
قدم 7 - نتیجه باید به شکل تصویر زیر باشد.
اتمام درس
محصولات برگزیده مناسب شما