Как создать новый проект на Laravel: подробное руководство для начинающих

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

В этой статье разберем весь процесс с нуля: от подготовки окружения до запуска первого Laravel-приложения. Без лишней теории, но с пониманием того, что и зачем вы делаете.


Что нужно перед началом работы

Перед установкой Laravel важно убедиться, что ваше окружение готово. Фреймворк не требует экзотических зависимостей, но несколько базовых вещей все же понадобятся.

PHP подходящей версии

Laravel активно использует современные возможности PHP, поэтому старая версия не подойдет. Обычно требуется PHP 8.1 или новее. Проверить текущую версию можно командой:

php -v

Если версия ниже требуемой, стоит обновить PHP через пакетный менеджер или установить нужную версию вручную.

Composer

Composer - это менеджер зависимостей для PHP. Через него устанавливается сам Laravel и все сторонние пакеты.

Проверка установки:

composer --version

Если Composer не установлен, его можно добавить за несколько минут, следуя официальной инструкции.

Сервер и база данных

Для локальной разработки подойдет любой вариант:

  • встроенный сервер Laravel,

  • Apache или Nginx,

  • MySQL, PostgreSQL или SQLite в качестве базы данных.

На старте можно обойтись минимумом, встроенным сервером и SQLite.


Установка Laravel

Существует два основных способа создать новый Laravel-проект. Оба официальные и одинаково рабочие.

Способ 1. Через Laravel Installer

Laravel Installer - это удобная утилита, которая устанавливается глобально через Composer.

Установка инсталлятора:

composer global require laravel/installer

После этого создаем новый проект:

laravel new my-project

Инсталлятор сам задаст несколько вопросов: какой стек использовать, нужна ли аутентификация, тесты и так далее. Для новичков можно оставить значения по умолчанию.

Способ 2. Через Composer напрямую

Если не хочется устанавливать глобальные утилиты, можно создать проект одной командой:

composer create-project laravel/laravel my-project

Composer скачает Laravel и все зависимости, после чего проект будет готов к работе.


Структура проекта: что здесь вообще лежит

После установки вы увидите довольно много папок и файлов. Это нормально т.к. Laravel сразу предлагает готовую архитектуру.

Ключевые директории:

  • app - основная логика приложения: контроллеры, модели, сервисы.

  • routes - все маршруты приложения.

  • resources - шаблоны, стили, JavaScript.

  • database - миграции, сиды и фабрики.

  • public - точка входа и публичные файлы.

  • config - конфигурация всех компонентов.

На старте не нужно разбираться во всем сразу. Достаточно понимать, где лежат маршруты, шаблоны и бизнес-логика.


Настройка окружения

Файл .env

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

Сразу после установки в корне проекта есть файл .env.example. Его нужно скопировать:

cp .env.example .env

После этого сгенерировать ключ приложения:

php artisan key:generate

Этот ключ используется для шифрования данных и работы сессий. Без него приложение не запустится корректно.

Подключение базы данных

В файле .env находим блок с настройками базы данных:

DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=laravel
DB_USERNAME=root
DB_PASSWORD=

Если вы используете SQLite, достаточно указать:

DB_CONNECTION=sqlite

и создать пустой файл базы данных, например database/database.sqlite.


Запуск проекта

Самый простой способ запустить Laravel это использовать встроенный сервер.

В корне проекта выполните:

php artisan serve

По умолчанию приложение будет доступно по адресу:

http://127.0.0.1:8000

Если вы видите стартовую страницу Laravel - значит все работает правильно.


Первый маршрут и страница

Чтобы лучше понять, как все связано между собой, создадим простой маршрут.

Откройте файл routes/web.php и добавьте:

Route::get('/hello', function () {
    return 'Привет, Laravel!';
});

Перейдите в браузере по адресу /hello и вы увидите текст, возвращаемый маршрутом.

Это самый простой пример, но он наглядно показывает, как работает маршрутизация.


Использование контроллеров

Когда логика становится сложнее, маршруты лучше выносить в контроллеры.

Создадим контроллер командой:

php artisan make:controller HelloController

В файле контроллера добавим метод:

public function index()
{
    return view('hello');
}

Теперь изменим маршрут:

Route::get('/hello', [HelloController::class, 'index']);

Шаблоны и Blade

Laravel использует собственный шаблонизатор Blade. Все шаблоны хранятся в папке resources/views.

Создадим файл hello.blade.php:

<!DOCTYPE html>
<html>
<head>
    <title>Первый шаблон</title>
</head>
<body>
    <h1>Привет из Blade</h1>
</body>
</html>

Теперь при переходе на /hello будет отображаться HTML-страница.


Миграции и работа с базой

Laravel предлагает удобный механизм миграций для управления структурой базы данных.

Создание миграции:

php artisan make:migration create_posts_table

В файле миграции описывается структура таблицы. После этого миграции применяются командой:

php artisan migrate

Таким образом структура базы всегда хранится в коде, а не только на сервере.


Что дальше

После базовой установки и настройки вы готовы двигаться дальше:

  • изучать Eloquent и модели,

  • работать с формами и валидацией,

  • подключать аутентификацию,

  • писать тесты,

  • собирать фронтенд с Vite.

Laravel создан так, чтобы путь от простого проекта до полноценного приложения был максимально плавным.

Комментарии (0)

Войдите, чтобы оставить комментарий

Похожие статьи

Как создать AI-агента на Python с OpenAI для автоматического парсинга счетов

Подробный гайд, как разработать полноценного AI-агента на Python и OpenAI API, который автоматически парсит счета (PDF, фото), вытягивает данные в структурированный JSON, валидирует их и сохраняет в CSV или базу. Плюс интеграция с Telegram-ботом для загрузки документов.

45 0 3 мин

Laravel 12.44: добавлены HTTP-клиентские callbacks после получения ответа

Обзор релиза Laravel 12.44: добавлен метод afterResponse() для HTTP-клиента, новые методы для тестов и улучшенная валидация дат. Поясняется, как использовать новые фичи на практике.

35 0 1 мин

Как удалить Docker‑образы, контейнеры и тома: подробное руководство

Полное руководство по удалению Docker‑образов, контейнеров и томов. Включены подробные команды, примеры и советы по очистке Docker‑среды для освобождения места на диске.

11 0 2 мин