🧱 Суть
Команда composer create-project laravel/laravel my-app создаёт новый Laravel-проект из официального шаблона и сразу устанавливает все зависимости.
📦 Проблема
1. Путают шаблон и проект
composer create-project laravel/laravel my-appне создаёт папку laravel/laravel, а использует её как исходный шаблон.
2. Неочевидно, что происходит “под капотом”
Кажется, что это просто создание папки, но на самом деле выполняется установка полноценного фреймворка.
✅ Решение
Понимать, что команда состоит из трёх этапов.
💻 Код
1. Берётся шаблон Laravel
laravel/laravelЭто официальный стартовый репозиторий (скелет проекта).
2. Создаётся папка проекта
my-app/Сюда копируется и настраивается Laravel.
3. Устанавливаются зависимости
Composer автоматически:
- скачивает Laravel
- устанавливает PHP-пакеты из
composer.json - создаёт
vendor/
Итоговая структура
my-app/
├── app/
├── bootstrap/
├── config/
├── public/
├── routes/
├── vendor/
└── artisanВажный момент
laravel/laravel– это шаблон (репозиторий)my-app– это имя проекта
Аналогия
create-project = "скачай готовый шаблон и разверни его как новый проект"🎯 Вывод
- Composer создаёт проект из готового шаблона
- Laravel не пишется с нуля каждый раз – используется scaffold
my-app– это просто имя директории нового проекта