فهرست:
بازیابی درخواست URI
از متد path
برای بازیابی URI
درخواستی استفاده می شود. از متد is
بررسی صحیح بودن URI
درخواستی استفاده می شود که آیا با الگویی که در آرگومان متد مشخص شده مطابقت دارد یا خیر و برای دریافت URL
کامل، می توانیم از متد url
استفاده کنیم. برای بررسی بهتر مثال زیر را بررس فرماید. ابتدا با خط فرمان زیر کنترلر UriController
ایجاد می کنیم.
php artisan make:controller UriController –plain
بعد از ساخت کنترلر فایل app/Http/Controllers/UriController.php
بصورت زیر ویرایش نمایید.
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;
}
}
حال فایل app/Http/route.php
بصورت زیر ویرایش کنید.
app/Http/route.php
Route::get('/foo/bar','UriController@index');
حال آدرس زیر را باز کنید
http://localhost:8000/foo/bar
خروجی مرورگر شما باید بصورت زیر باشد.
Path Method: foo/bar
is Method: 1
URL method: http://localhost:8000/foo/bar
بازیابی Input
در لاراول مقادیر ورودی را می توان به راحتی بازیابی کرد. مهم نیست که چه روشی از “GET
” یا “POST
” استفاده شده است ، لاراول مقادیر ورودی هر دو روش را به همان روش بازیابی می کند. به دو روش می توان مقادیر ورودی را بازیابی کرد.
- با استفاده از متد
input
- با استفاده از Request instance
استفاده از متد input
متد input نام فیلد مورد نظر را به شکل یک یک آرگومان دریافت می کند مثالا اگر فرم شامل دارای فیلدی به نام username
باشد، از طریق زیر می توانیم به آن دسترسی پیدا کنیم.
$name = $request->input('username');
استفاده از Request instance
مانند متد input
، می توانیم ویژگی username
را مستقیماً از Request instance دریافت کنیم.
برای درک بهتر مثال زیر را بررسی کنید، یک فرم ثبت نام ایجاد کنید ، جایی که کاربر بتواند خود را ثبت نام کند برای این منظور فرم زیر را در resources/views/register.php
ایجاد کنید.
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>
دستور زیر را برای ایجاد کنترلر UserRegistration
اجرا کنید.
php artisan make:controller UserRegistration --plain
بعد از ایجاد کنترلر فایل app/Http/Controllers/UserRegistration.php
را بصورت زیر ویرایش کنید.
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;
}
}
حال فایل app/Http/routes.php
را بصورت زیر تغییر دهید.
app/Http/routes.php
Route::get('/register',function() {
return view('register');
});
Route::post('/user/register',array('uses'=>'UserRegistration@postRegister'));
به URL زیر مراجعه کنید و فرم ثبت نام را پر نموده و بر روی دکمه Register کلیک کنید خروجی مرورگر شما با توجه به فیلد های پر شده در فرم ثبت نام خواهد بود.
http://localhost:8000/register