В этой главе вы подробно узнаете о запросах в Laravel.
Получение URI запроса
Метод «путь» используется для получения запрошенного URI. Метод is используется для получения запрошенного URI, который соответствует конкретному шаблону, указанному в аргументе метода. Чтобы получить полный URL, мы можем использовать метод url .
пример
Шаг 1 — Выполните приведенную ниже команду, чтобы создать новый контроллер с именем UriController .
php artisan make:controller UriController –plain
Шаг 2. После успешного выполнения URL вы получите следующий вывод:
Шаг 3 — После создания контроллера добавьте следующий код в этот файл.
приложение / Http / Контроллеры / 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 — Добавьте следующую строку в файл app / Http / route.php .
приложение / Http / route.php
Route::get('/foo/bar','UriController@index');
Шаг 5 — Посетите следующий URL.
http://localhost:8000/foo/bar
Шаг 6 — Вывод будет выглядеть, как показано на следующем рисунке.
Получение ввода
Входные значения могут быть легко получены в Laravel. Независимо от того, какой метод был использован «get» или «post» , метод Laravel будет извлекать входные значения для обоих методов одинаково. Есть два способа получить входные значения.
- Использование метода input ()
- Использование свойств экземпляра Request
Использование метода input ()
Метод input () принимает один аргумент — имя поля в форме. Например, если форма содержит поле имени пользователя, мы можем получить к нему доступ следующим образом.
$name = $request->input('username');
Использование свойств экземпляра Request
Как и метод input () , мы можем получить свойство username непосредственно из экземпляра запроса.
$request->username
пример
Обратите внимание на следующий пример, чтобы лучше понять запросы.
Шаг 1 — Создайте форму регистрации, где пользователь может зарегистрироваться и сохранить форму в ресурсах / 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 контроллер.
приложение / Http / Контроллеры / 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 — Добавьте следующую строку в файл app / Http / rout.php .
приложение / Http / routes.php
Route::get('/register',function() { return view('register'); }); Route::post('/user/register',array('uses'=>'UserRegistration@postRegister'));
Шаг 6 — Посетите следующий URL, и вы увидите форму регистрации, как показано на рисунке ниже. Введите регистрационные данные и нажмите «Регистрация», и вы увидите на второй странице, которую мы получили, и отобразили регистрационные данные пользователя.
http://localhost:8000/register
Шаг 7 — Вывод будет выглядеть примерно так, как показано ниже на следующих изображениях.