Laravel представляет собой PHP фреймворк, реализующий подход MVC. В Laravel есть контроллеры, представления и модели. Также этот фреймворк предоставляет удобный роутинг, встроенный шаблонизатор, св...
LARAVEL
Давайте установим фреймворк. Я рекомендую делать это через composer (другие варианты см. в документации). Для начала в терминале перейдите в папку вашего сервера. Затем выполните следующую команду,...
Настройки работы с БД хранятся в файле config/database.php. Здесь вы можете указать все используемые вами соединения к БД, а также задать соединение по умолчанию. Примеры настройки большинства поддерж...
В Laravel вместо функции var_dump можно использовать специальные функции dd и dump. Функция dd (Dump and Die) выводит данные на экран и вызывает die, блокируя дальнейшее выполнение кода: <?ph...
Рекомендую вам установить специальную панель laravel-debugbar. Данная панель - удобный инструмент, позволяющий контролировать и отлаживать код. Вы всегда будете в курсе того, сколько произошло SQL ...
Маршруты (или роуты) указывают фреймворку, что показывать при обращении к определенному URI в браузере. Маршруты настраиваются в файле routes/web.php. Изначально там уже есть вот такой маршрут: ...
Можно сделать так, чтобы Laravel сам разбивал URI так, чтобы его отдельные части попадали в заданные переменные. Для этого предназначены параметры маршрутов. Давайте посмотрим на примере. Пусть у н...
В маршрутах можно указывать несколько параметров. Смотрите пример: <?php Route::get('/post/{catId}/{postId}', function ($catId, $postId) { return $catId . ' ' . $postId; }); ?>...
Параметры маршрутов можно объявлять не обязательными. Давайте посмотрим на примере. Пусть у нас есть следующий маршрут: <?php Route::get('/posts/page/{page}', function ($page) { return 'стр...
Как правило мы бы хотели наложить на параметры маршрутов некоторые ограничения. Давайте посмотрим на примере. Пусть у нас есть следующий маршрут: <?php Route::get('/post/{id}', function ($id) ...
Ограничения можно накладывать на несколько параметров. Для этого нужно вызвать несколько методов where в виде цепочки. Посмотрим на примере. Пусть у нас дан следующий маршрут с несколькими параметр...
Не очень удобно каждый раз для ограничения параметров прописывать одни и те же регулярки. Поэтому для популярных ограничений в Laravel созданы специальные методы. Давайте их рассмотрим. Следующий м...
Можно сделать так, чтобы параметр с определенным именем всегда имел заданное ограничение в любых маршрутах. Это нужно прописовать в методе boot класса RouteServiceProvider. Давайте для примера зада...
Laravel проверяет маршруты по порядку их записи. Если найден подходящий маршрут, то дальнейшая проверка прекращается. Из-за этого маршруты могут конфликтовать друг с другом. Например, в следующем п...
Можно группировать маршруты, адреса которых начинаются на одинаковую часть. Давайте посмотрим на примере. Пусть у нас есть такие адреса: <?php Route::get('/blog/post/all', function ($id) { ...
Маршрутам можно давать имена. Эти имена в дальнейшем могут быть использованы для различных целей. Давайте посмотрим на примере. Пусть дан такой маршрут: <?php Route::get('/post/all', function ...
Как правило маршруты, создаваемые в файле routes/web.php не будут сами обрабатывать запрос, а отправят его на определенное действие заданного контроллера. Контроллеры размещаются в папке app/Http/C...
Давайте теперь в файле с роутами будем делать так, чтобы маршруты обрабатывались заданными контроллерами. Для этого вторым параметром метода get нужно передать массив, состоящий из двух элементов: ...
Создавать контроллеры вручную не очень эффективно. Лучше использовать для этого генератор кода artisan. Он автоматически создаст файл с нужным классом и пропишет в нем пространство имен и нужные завис...
Давайте теперь добавим к нашему маршруту параметр: <?php Route::get('/post/{id}', [PostController::class, 'show']); ?> Переданный параметр будет попадать в параметр метода нашего действия...