Laravel – гайд по выживанию. Nulls
Чтение книги онлайн.
Читать онлайн книгу Laravel – гайд по выживанию - Nulls страница 3
![Laravel – гайд по выживанию - Nulls Laravel – гайд по выживанию - Nulls](/cover_pre1303007.jpg)
<?php
Route::get('graveyard', function(){
echo 'Добро пожаловать на кладбище!';
});
Здесь создается маршрут для страницы "кладбище". Приложение, получив запрос на "get" маршрута "graveyard", выполнит функцию и выдаст сообщение "Добро пожаловать на кладбище!".
Наша маршрутизация в Laravel находится по адресу routes\web.php. Именно здесь мы будем добавлять все маршруты для нашего приложения.
В принципе, у нас есть четыре типа маршрутов: POST, GET, PUT и DELETE. Они выглядят следующим образом:
<?php
Route::post('/zombie', function () {
echo "We want to create a new zombie";
});
Route::get('/zombie', function () {
echo 'We want to read or view a zombie';
});
Route::put('/zombie', function () {
echo "We want to update an existing zombie";
});
Route::delete('/zombie', function () {
echo "We want to destroy a zombie";
});
Эти методы – POST, GET, PUT и DELETE – являются частью архитектуры RESTful, каждый из которых отражает определенное действие:
POST: Создание сущности (Create).
GET: Чтение сущности или нескольких сущностей (Read).
PUT: Обновить сущность (Update).
DELETE: удаление сущности (Delete).
Эта техника также называется CRUD (Create, Read, Update, Delete).
Чаще всего мы будем использовать метод GET, но есть также маршрут, который можно использовать для получения любого метода:
<?php
Route::any('/zombie', function () {
echo "Any request from this zombie route";
});
Отлично!
Итак, как мы инициируем наши маршруты из браузера? В большинстве случаев мы используем GET-запрос. Введя site.com/zombie, мы получаем функцию GET. Но как насчет передачи данных?
Легко! Для этого подойдет HTML-форма, подобная этой:
<form method="POST" action="/zombie">
@csrf
@method('PATCH')
…
<input type="submit">
</form>
При нажатии кнопки submit на этой форме данные будут отправлены на POST-маршрут site.com/zombie.
Обратите внимание на передачу @csrf и дополнительного указания метода. Указание метода необходимо из-за того, что в HTTP не существует метода ‘PATCH’. Таким образом мы даем понять Laravel, какое именно действие нужно совершить с данными из этой формы.
Пример быстрой маршрутизации
Представьте, что перед вами стоит задача убить (удалить) зомби-изгоя! Сначала необходимо создать форму:
<form method="POST" action="/zombie">
@csrf
@method(DELETE)
<input type="hidden" name="id" value="2">
<input type="submit" value="Destroy">