На нашем сайте мы используем cookie для сбора информации технического характера и обрабатываем IP-адрес вашего местоположения. Продолжая использовать этот сайт, вы даете согласие на использование файлов cookies. Здесь вы можете узнать, как мы пользуемся файлами cookies.
Я согласен
логотип upread.ru

Урок 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, роутинг, чпу





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




Верстка с помощью jQuery
Заливка и извлечение изображений из базы sqlite на C#


© upread.ru 2013-2021
При перепечатке активная ссылка на сайт обязательна.
Задать вопрос
письмо
Здравствуйте! Вы можете задать мне любой вопрос. Если не получается отправить сообщение через эту форму, то пишите на почу up777up@yandex.ru
Отправляя сообщение я подтверждаю, что ознакомлен и согласен с политикой конфиденциальности данного сайта.