Урок 2. Введение в роутинг Laravel


На прошлом уроке из серии уроков по Laravel мы все поставили, затем разобрались с ошибками базы данных, теперь попробуем что-то показать пользователю. А сегодня поговорим о машрутизации. Простыми словами маршрутизация или роутинг – это когда пользователь заходит на адрес в браузере, а там в зависимости от этого самого адреса что-то показывается. Самые простые маршруты Laravel принимают URI и замыкания, обеспечивая очень простой метод определения маршрутов и поведения без сложных конфигурационных файлов маршрутизации:

use Illuminate\Support\Facades\Route;

Route::get('/greeting', function () {
    return 'Hello World';
});
Файлы роутинга по умолчанию

Все маршруты Laravel определяются в файлах маршрутов, которые находятся в каталоге routes. Эти файлы автоматически загружаются приложением App\Providers\RouteServiceProvider вашего приложения. В routes/web.php файл определяет маршруты, которые предназначены для вашего веб-интерфейса. Эти маршруты назначаются группе web middleware, которая предоставляет такие функции, как состояние сеанса и защита CSRF. Маршруты в routes/api.php являются апатридами и назначаются группе промежуточного программного обеспечения api.

Изучение лучше начать с определения маршрутов в вашем routes/web.php файле. Маршруты, определенные в routes/web.php доступ к нему можно получить, введя URL-адрес определенного маршрута в вашем браузере.

Например, можно сделать так, добавив в routes/web.php

Route::get('/upread', function () {
    echo "ага!";
});
По адресу http://localhost/new_project/public/upread выведется «ага». Можно добавить вьюшку в \resources\views создать файл upread.blade.php с содержимым:

<!DOCTYPE html>
<html lang="{{ str_replace('_', '-', app()->getLocale()) }}">
    <head>
        <meta charset="utf-8">
        <meta name="viewport" content="width=device-width, initial-scale=1">

        <title>Laravel</title>
</head>
<body>
Hello, {{ $name }}
    </body>
</html>
А routes/web.php изменить так:

Route::get('/upread', function () {
   return view('upread', ['name' => 'Yuriy']);
});
Тогда будет так:



Маршруты, определенные в routes/api.php файле, вложены в группу маршрутов с помощью RouteServiceProvider. В этой группе префикс URI/api применяется автоматически, поэтому вам не нужно вручную применять его к каждому маршруту в файле. Вы можете изменить префикс и другие параметры группы маршрутов, изменив свой класс RouteServiceProvider.

Доступные методы маршрутизатора

Маршрутизатор позволяет регистрировать маршруты, которые отвечают на любой метод http:

Route::get($uri, $callback);
Route::post($uri, $callback);
Route::put($uri, $callback);
Route::patch($uri, $callback);
Route::delete($uri, $callback);
Route::options($uri, $callback);
Иногда вам может потребоваться зарегистрировать маршрут, который отвечает на несколько http-действий. Вы можете сделать это с помощью метода совпадения. Или вы даже можете зарегистрировать маршрут, который отвечает на все запросы с помощью метода any:

Route::match(['get', 'post'], '/', function () {
    //
});

Route::any('/', function () {
    //
});
Генерация URL-адресов

После присвоения имени данному направлению, вы можете использовать имя маршрута при генерации URL-адреса или переадресации по маршруту фреймворк Laravel и перенаправить вспомогательные функции:

// Генерация URL-Адресов...
$url = route('profile');

// Создание редиректов...
return redirect()->route('profile');
Если именованный маршрут определяет параметры, вы можете передать эти параметры в качестве второго аргумента функции маршрута. Заданные параметры будут автоматически вставлены в сгенерированный URL-адрес в правильных позициях:

Route::get('/user/{id}/profile', function ($id) {
    //
})->name('profile');

$url = route('profile', ['id' => 7]);
Если вы передадите дополнительные параметры в массив, эти пары ключ / значение будут автоматически добавлены в строку запроса сгенерированного URL-адреса:

Route::get('/user/{id}/profile', function ($id) {
    //
})->name('profile');

$url = route('profile', ['id' => 7, 'photos' => 'yes']);

// /user/1/profile?photos=yes
Там много еще, можете в документации почитать, сегодня была цель просто познакомить вас с основами. А на следующем уроке мы же перейдем к другому – формам.
Автор этого материала - я - Пахолков Юрий. Я оказываю услуги по написанию программ на языках Java, C++, C# (а также консультирую по ним) и созданию сайтов. Работаю с сайтами на CMS OpenCart, WordPress, ModX и самописными. Кроме этого, работаю напрямую с JavaScript, PHP, CSS, HTML - то есть могу доработать ваш сайт или помочь с веб-программированием. Пишите сюда.

тегистатьи IT, уроки по Laravel, laravel, роутинг, чпу




Отправляя сообщение я подтверждаю, что ознакомлен и согласен с политикой конфиденциальности данного сайта.




700 человек в день
Primary
Рецепты, кулинария