Знакомство с Laravel и установка окружения

Рейтинг: 45.3% · 9 голосов
Курс по Laravel: маршруты, Eloquent, Blade, миграции, очереди и API. Уроки по главам с обсуждением.
Ответить
Аватара пользователя
oleg_php
Сообщения: 25
Зарегистрирован: 14 май 2026, 08:06

Знакомство с Laravel и установка окружения

Сообщение oleg_php »

АкадемияLaravel с нуляГлава 1 из 18
Оглавление курса (18)
  1. Знакомство с Laravel и установка окружения (вы здесь)
  2. Маршруты и контроллеры
  3. Blade: шаблоны и вёрстка страниц
  4. Миграции и структура базы данных
  5. Eloquent ORM: модели и CRUD
  6. Связи в Eloquent: hasMany, belongsTo и другие
  7. Формы и валидация данных
  8. Аутентификация пользователей
  9. Middleware и защита маршрутов
  10. Очереди и фоновые задачи
  11. Отправка почты и уведомления
  12. Строим REST API на Laravel
  13. Авторизация: Gates и Policies
  14. Работа с файлами: загрузка, Storage, диски local и S3
  15. Тестирование: Pest и PHPUnit, фабрики, сидеры, RefreshDatabase
  16. Сервис-контейнер, провайдеры, свои artisan-команды и планировщик
  17. Деплой в продакшен и обзор современного фронтенда (Vite, Livewire, Inertia)
  18. События и слушатели, кеширование, логирование
В этой главе ставим окружение и создаём первый проект на Laravel. К концу урока у вас будет работающий сайт на локальной машине и понимание, из чего состоит свежий проект. Все следующие главы, от маршрутов до REST API, строятся именно на нём.

Зачем вообще Laravel:

PHP сам по себе позволяет написать что угодно, но на голом PHP вы будете заново изобретать маршрутизацию, работу с базой, шаблоны и авторизацию. Laravel даёт всё это из коробки плюс зрелую экосистему: очереди, почта, тесты, тысячи готовых пакетов. На рынке СНГ это самый востребованный PHP-фреймворк, вакансий под него стабильно больше, чем под Symfony и Yii вместе взятые. Мы работаем с Laravel 12, ему нужен PHP не ниже 8.2.

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

Три вещи: PHP 8.2+ с набором расширений, Composer (менеджер пакетов для PHP) и консоль. Редактор на ваш вкус, чаще всего PhpStorm или VS Code с расширением Intelephense.

Самый короткий путь на Windows и macOS: поставить Laravel Herd, официальное приложение, которое одним установщиком даёт PHP, nginx и Composer. Базовая версия бесплатная. На Windows также популярен Laragon. На Linux ставим пакетами, Composer берём скриптом с официального сайта, потом проверяем версии:

Код: Выделить всё

sudo apt install php8.3-cli php8.3-mbstring php8.3-xml php8.3-curl php8.3-sqlite3 php8.3-zip unzip
php -v
composer --version
Создаём проект:

Два равноценных способа. Либо напрямую через Composer, либо через официальный установщик. Второй удобнее: он умеет сразу подключать стартовые киты.

Код: Выделить всё

# способ 1: через composer
composer create-project laravel/laravel blog

# способ 2: официальный установщик
composer global require laravel/installer
laravel new blog
Установщик задаст пару вопросов про стартовый кит и базу данных. Для курса выбирайте вариант без кита и SQLite, нам нужен чистый каркас. Дальше запускаем встроенный сервер:

Код: Выделить всё

cd blog
php artisan serve

# если хотите конкретный порт
php artisan serve --port=8080
Открываем http://localhost:8000 и видим стартовую страницу Laravel. Поздравляю, половина главы позади.

Что внутри проекта:

Коротко по папкам, подробности будут по ходу курса. В app/ живёт ваш код: модели, контроллеры, middleware. В routes/ лежат файлы маршрутов, в главе 2 мы проведём там много времени. resources/views/ хранит Blade-шаблоны (глава 3), database/ хранит миграции и сиды (глава 4). config/ отвечает за конфигурацию, а public/ единственная папка, которая смотрит наружу, в ней лежит index.php.

Отдельно про файл .env. В нём настройки конкретной машины: подключение к базе, почта, секретные ключи. Файл не попадает в git, у каждого окружения он свой. С версии 11 Laravel по умолчанию использует SQLite, база лежит в файле database/database.sqlite, поэтому для старта не нужен ни MySQL, ни Docker. На боевом сервере базу поменяем, но это позже.

Типичные грабли:

Запустили второй проект, а serve молча сел на порт 8001. Это нормально: artisan перебирает порты с 8000 по 8010, пока не найдёт свободный. Смотрите, какой адрес он напечатал, или задавайте порт явно, пример выше.

Ошибка could not find driver при первом открытии страницы. Не установлено расширение pdo_sqlite: на Ubuntu его даёт пакет php8.3-sqlite3, в Herd оно есть из коробки.

Склонировали чужой проект и получили ошибку про cipher или пустой APP_KEY. В репозиториях нет файла .env, его создают из шаблона и генерируют ключ:

Код: Выделить всё

cp .env.example .env
composer install
php artisan key:generate
На Linux-сервере после деплоя приложение падает с ошибкой записи. Веб-серверу нужны права на запись в storage/ и bootstrap/cache/. Локально с artisan serve такое почти не встречается, а на проде вспомните этот абзац.

Итог:

У вас стоит PHP с Composer, создан проект blog и он открывается в браузере. Вы знаете, за что отвечают основные папки и где живут настройки окружения. В следующей главе берёмся за маршруты и контроллеры: научим приложение отвечать на разные адреса нашим кодом, а не одной стартовой заглушкой.
👍4 ❤️5 🔥3 😄 🤔
Аватара пользователя
regexfan
Сообщения: 2
Зарегистрирован: 14 май 2026, 20:59

Re: Знакомство с Laravel и установка окружения

Сообщение regexfan »

oleg_php писал(а):С версии 11 Laravel по умолчанию использует SQLite
а на проде так можно оставить? у меня пет-проект на полтора пользователя, поднимать mysql ради него совсем не хочется
👍1 ❤️3 🔥 😄 🤔
Аватара пользователя
lbauer
Сообщения: 1
Зарегистрирован: 11 май 2026, 22:04

Re: Знакомство с Laravel и установка окружения

Сообщение lbauer »

ставил на винде через Laragon, в целом завелось, но pdo_sqlite пришлось включать руками: в php.ini раскомментировать строку extension=pdo_sqlite и перезапустить. может кому сэкономит вечер
👍2 ❤️ 🔥 😄 🤔1
Аватара пользователя
pg69
Сообщения: 1
Зарегистрирован: 18 май 2026, 05:26

Re: Знакомство с Laravel и установка окружения

Сообщение pg69 »

спасибо за раздел про грабли. вчера два часа гуглил could not find driver, оказалось ровно мой случай, php8.3-sqlite3 не стоял. жаль не прочитал главу до того как полез ставить
👍1 ❤️ 🔥 😄 🤔
Аватара пользователя
tingler
Сообщения: 1
Зарегистрирован: 14 май 2026, 03:36

Re: Знакомство с Laravel и установка окружения

Сообщение tingler »

а если на работе все живут в докере, будет в курсе что-то про Sail? или для обучения встроенного сервера хватит и контейнеры лучше не трогать пока
👍1 ❤️2 🔥 😄 🤔
Ответить
Следующая глава →
Маршруты и контроллеры

Все главы курса «Laravel с нуля»

Поделиться темой: ✈ Telegram VK
  • Похожие темы

Вернуться в «Laravel с нуля»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 1 гость