Encodera

Спасибо, что читаете!

Пожертвуйте сайту, мы стараемся ради вас.

Оглавление

Что такое Laravel

Laravel — фреймворк для веб-приложений на PHP. Он берёт на себя типовые задачи: маршрутизацию, работу с базой данных, авторизацию, шаблоны — и задаёт понятную структуру проекта. Вам остаётся писать код, который относится именно к вашему сайту.

Что понадобится

Нужны PHP 8.2 или новее и Composer — менеджер пакетов PHP. Проверить, что они установлены, можно в терминале:

php -v
composer -V

Создание проекта

Проект создаётся через Composer:

composer create-project laravel/laravel blog
cd blog
php artisan serve

Команда php artisan serve запускает встроенный сервер разработки. Сайт откроется по адресу http://localhost:8000.

Структура проекта

ПапкаЧто внутри
app/Код приложения: модели, контроллеры
routes/Маршруты
resources/views/Шаблоны страниц
database/Миграции и сиды
public/Точка входа и статические файлы
config/Настройки фреймворка

Путь запроса

Каждый запрос проходит один и тот же путь:

  1. Браузер обращается к адресу, например /posts.
  2. Laravel находит маршрут для этого адреса.
  3. Маршрут вызывает метод контроллера.
  4. Контроллер получает данные из модели и передаёт их в шаблон.
  5. Готовая HTML-страница возвращается в браузер.

Каждому шагу посвящён отдельный урок курса.

Настройки

Настройки, которые различаются на вашем компьютере и на сервере, лежат в файле .env в корне проекта: название сайта, режим отладки, доступ к базе данных.

APP_NAME=Blog
APP_DEBUG=true

Artisan

artisan — консольный помощник Laravel. Он создаёт файлы, запускает миграции, очищает кеш:

php artisan list
php artisan make:controller PostController

Первая команда показывает список всех команд, вторая создаёт контроллер.

Частая ошибка

Файл .env содержит пароли и ключи, поэтому его нельзя добавлять в Git — он уже указан в .gitignore. На сервере этот файл создают отдельно. Там же обязательно выставляют APP_DEBUG=false: в режиме отладки страница ошибки показывает посетителю код и настройки проекта.

Спасибо, что читаете!

Пожертвуйте сайту, мы стараемся ради вас.