1. Установка

Знакомство с Laravel

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

Laravel стремится предоставить удивительный опыт разработчика, предоставляя мощные функции, такие как тщательная инъекция зависимостей, выразительный слой абстракции базы данных, очереди и запланированные задачи, юнит-тестирование и интеграционное тестирование и многое другое.

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

Примечание Впервые используете Laravel? Посмотрите Laravel Bootcamp для практического тура по фреймворку, пока мы проведем вас через создание вашего первого Laravel-приложения.

Почему Laravel?

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

Прогрессивный фреймворк

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

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

Масштабируемый фреймворк

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

Нужно крайнее масштабирование? Платформы, такие как Laravel Vapor, позволяют запускать ваше приложение Laravel практически безграничномасштабе на последней бессерверной технологии AWS.

Фреймворк сообщества

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

Ваш первый проект Laravel

Перед созданием вашего первого проекта Laravel убедитесь, что на вашем локальном компьютере установлен PHP и Composer. Если вы разрабатываете на macOS, PHP и Composer можно установить за несколько минут с помощью Laravel Herd. Кроме того, мы рекомендуем установить Node и NPM.

После установки PHP и Composer вы можете создать новый проект Laravel с помощью команды Composer create-project:

composer create-project laravel/laravel example-app

Или вы можете создавать новые проекты Laravel, глобально устанавливая установщик Laravel через Composer. Или, если вы установили PHP и Composer с помощью Laravel Herd, установщик Laravel уже доступен вам:

composer global require laravel/installer
 
laravel new example-app

После создания проекта запустите локальный сервер разработки Laravel с помощью команды Laravel Artisan CLI serve:

cd example-app
 
php artisan serve

После запуска сервера разработки Artisan ваше приложение будет доступно в вашем веб-браузере по адресу http://localhost:8000. Теперь вы готовы перейти к следующим шагам в экосистеме Laravel. Конечно, вы также можете настроить базу данных.

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

Laravel и Docker

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

Docker - это инструмент для запуска приложений и служб в небольших, легких "контейнерах", которые не мешают установленному программному обеспечению или конфигурации вашего локального компьютера. Это означает, что вам не нужно беспокоиться о настройке или настройке сложных инструментов разработки, таких как веб-серверы и базы данных на вашем локальном компьютере. Для начала вам нужно установить Docker Desktop.

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

Примечание Уже эксперт в Docker? Не волнуйтесь! Все в Sail можно настроить, используя файл docker-compose.yml, включенный в Laravel.

Начало работы на macOS

Если вы разрабатываете на Mac и Docker Desktop уже установлен, вы можете использовать простую команду терминала для создания нового проекта Laravel. Например, чтобы создать новое приложение Laravel в каталоге с именем "example-app", вы можете выполнить следующую команду в терминале:

curl -s "https://laravel.build/example-app" | bash

Конечно, вы можете изменить "example-app" в этом URL на что угодно - просто убедитесь, что имя приложения содержит только буквенно-цифровые символы, тире и подчеркивания. Каталог приложения Laravel будет создан в каталоге, из которого вы выполните команду.

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

После создания проекта вы можете перейти в каталог приложения и запустить Laravel Sail. Laravel Sail предоставляет простой интерфейс командной строки для взаимодействия с конфигурацией Docker по умолчанию Laravel:

cd example-app
 
./vendor/bin/sail up

После запуска Docker-контейнеров приложения вы можете получить доступ к приложению в веб-браузере по адресу: http://localhost.

Примечание Для продолжения изучения Laravel Sail ознакомьтесь с его полной документацией.

Начало работы в Windows

Прежде чем создавать новое приложение Laravel на вашем компьютере с Windows, убедитесь, что установлен Docker Desktop. Затем вы должны убедиться, что включен и установлен Windows Subsystem for Linux 2 (WSL2). WSL позволяет выполнять исполняемые файлы Linux нативно в Windows 10. Информацию о том, как установить и включить WSL2, можно найти в документации по среде разработки Microsoft.

Примечание После установки и включения WSL2 убедитесь, что Docker Desktop настроен на использование заднего уровня WSL2.

Затем вы готовы создать свой первый проект Laravel. Запустите Windows Terminal и начните новую сессию терминала для вашей операционной системы WSL2 Linux. Затем вы можете использовать простую команду терминала для создания нового проекта Laravel. Например, чтобы создать новое приложение Laravel в каталоге с именем "example-app", вы можете выполнить следующую команду в терминале:

curl -s https://laravel.build/example-app | bash

Конечно, вы можете изменить "example-app" в этом URL на что угодно - просто убедитесь, что имя приложения содержит только буквенно-цифровые символы, тире и подчеркивания. Каталог приложения Laravel будет создан в каталоге, из которого вы выполните команду.

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

После создания проекта вы можете перейти в каталог приложения и запустить Laravel Sail. Laravel Sail предоставляет простой интерфейс командной строки для взаимодействия с конфигурацией Docker по умолчанию Laravel:

cd example-app
 
./vendor/bin/sail up

После запуска Docker-контейнеров приложения вы можете получить доступ к приложению в веб-браузере по адресу: http://localhost.

Примечание Для продолжения изучения Laravel Sail ознакомьтесь с его полной документацией.

Разработка в WSL2

Конечно, вам нужно сможете изменять файлы приложения Laravel, созданные в вашей установке WSL2. Для этого мы рекомендуем использовать редактор Visual Studio Code от Microsoft и их расширение первой стороны для удаленной разработки.

После установки этих инструментов вы можете открыть любой проект Laravel, выполнив команду code . из каталога приложения с использованием Windows Terminal.

Начало работы в Linux

Если вы разрабатываете на Linux и Docker Compose уже установлен, вы можете использовать простую команду терминала для создания нового проекта Laravel.

Во-первых, если вы используете Docker Desktop для Linux, вы должны выполнить следующую команду. Если вы не используете Docker Desktop для Linux, вы можете пропустить этот шаг:

docker context use default

Затем, чтобы создать новое приложение Laravel в каталоге с именем "example-app", вы можете выполнить следующую команду в терминале:

curl -s https://laravel.build/example-app | bash

Конечно, вы можете изменить "example-app" в этом URL на что угодно - просто убедитесь, что имя приложения содержит только буквенно-цифровые символы, тире и подчеркивания. Каталог приложения Laravel будет создан в каталоге, из которого вы выполните команду.

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

После создания проекта вы можете перейти в каталог приложения и запустить Laravel Sail. Laravel Sail предоставляет простой интерфейс командной строки для взаимодействия с конфигурацией Docker по умолчанию Laravel:

cd example-app
 
./vendor/bin/sail up

После запуска Docker-контейнеров приложения вы можете получить доступ к приложению в веб-браузере по адресу: http://localhost.

Примечание Для продолжения изучения Laravel Sail ознакомьтесь с его полной документацией.

Выбор ваших служб Sail

При создании нового приложения Laravel через Sail вы можете использовать переменную запроса with, чтобы выбрать, какие службы должны быть настроены в файле docker-compose.yml вашего нового приложения. Доступные службы включают mysql, pgsql, mariadb, redis, memcached, meilisearch, minio, selenium и mailpit:

curl -s "https://laravel.build/example-app?with=mysql,redis" | bash

Если вы не указываете, какие службы вы хотите настроить, будет настроен стек по умолчанию из mysql, redis, meilisearch, mailpit и selenium.

Вы можете указать Sail установить Devcontainer по умолчанию, добавив параметр devcontainer в URL:

curl -s "https://laravel.build/example-app?with=mysql,redis&devcontainer" | bash

Начальная настройка

Все файлы конфигурации для фреймворка Laravel хранятся в каталоге config. Каждая опция документирована, поэтому не стесняйтесь просматривать файлы и знакомиться с доступными вам опциями.

Laravel почти не требует дополнительной конфигурации "из коробки". Вы свободны начать разработку! Тем не менее, вы можете желать просмотреть файл config/app.php и его документацию. В нем содержатся несколько опций, таких как timezone и locale, которые вы можете изменить в соответствии с вашим приложением.

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

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

Ваш файл .env не должен быть включен в исходный контроль вашего приложения, так как каждый разработчик/сервер, использующий ваше приложение, может требовать другой конфигурации среды. Кроме того, это может представлять собой риск безопасности в случае вторжения злоумышленника в ваш репозиторий управления версиями, так как могут быть раскрыты чувствительные учетные данные.

Примечание Для получения дополнительной информации о файле .env и конфигурации на основе окружения, ознакомьтесь с полной документацией по конфигурации.

Базы данных и миграции

Теперь, когда вы создали свое приложение Laravel, вам, вероятно, захочется сохранить некоторые данные в базе данных. По умолчанию файл конфигурации вашего приложения .env указывает, что Laravel будет взаимодействовать с базой данных MySQL и будет получать доступ к базе данных по адресу 127.0.0.1. Если вы разрабатываете на macOS и вам нужно установить MySQL, Postgres или Redis локально, вам может быть удобно использовать DBngin.

Если вы не хотите устанавливать MySQL или Postgres на своем локальном компьютере, вы всегда можете использовать базу данных SQLite. SQLite - это небольшой, быстрый, автономный движок базы данных. Чтобы начать, обновите файл конфигурации вашего .env, чтобы использовать драйвер базы данных sqlite Laravel. Вы можете удалить другие параметры конфигурации базы данных:

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

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

php artisan migrate

Если база данных SQLite не существует для вашего приложения, Laravel спросит вас, хотите ли вы, чтобы база данных была создана. Обычно файл базы данных SQLite будет создан в database/database.sqlite.

Конфигурация каталога

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

Поддержка IDE

Вы вольны использовать любой редактор кода при разработке приложений Laravel; однако PhpStorm предлагает обширную поддержку Laravel и его экосистемы, включая Laravel Pint.

Кроме того, поддерживаемый сообществом Laravel Idea - это плагин PhpStorm, предлагающий различные полезные усиления для IDE, включая генерацию кода, завершение синтаксиса Eloquent, завершение правил валидации и многое другое.

Следующие шаги

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

Как вы хотите использовать Laravel, также определит следующие шаги на вашем пути. Существует множество способов использования Laravel, и ниже мы рассмотрим два основных варианта использования фреймворка.

Примечание Впервые используете Laravel? Посмотрите Laravel Bootcamp для практического тура по фреймворку, пока мы проведем вас через создание вашего первого Laravel-приложения.

Laravel - полноценный стек

Laravel может служить полноценным стековым фреймворком. Под "полноценным стековым" фреймворком мы подразумеваем, что вы собираетесь использовать Laravel для маршрутизации запросов к вашему приложению и отображения вашего фронтенда с использованием шаблонов Blade или технологии гибридного приложения с одной страницей, такой как Inertia. Это самый распространенный способ использования фреймворка Laravel и, на наш взгляд, самый продуктивный способ использования Laravel.

Если вы планируете использовать Laravel именно так, вам, возможно, стоит ознакомиться с нашей документацией по разработке фронтенда, маршрутизации, видам или Eloquent ORM. Кроме того, вам может быть интересно узнать о таких пакетах сообщества, как Livewire и Inertia. Эти пакеты позволяют вам использовать Laravel в качестве полноценного стекового фреймворка, при этом получая многие преимущества пользовательского интерфейса от приложений на одной странице с использованием JavaScript.

Если вы используете Laravel как полноценный стековый фреймворк, мы также настоятельно рекомендуем изучить, как компилировать CSS и JavaScript вашего приложения с использованием Vite.

Примечание Если вы хотите получить старт для создания своего приложения, ознакомьтесь с одним из наших официальных комплектов запуска приложений.

Laravel - API-бэкенд

Laravel также может служить API-бэкендом для одностраничного приложения на JavaScript или мобильного приложения. Например, вы можете использовать Laravel в качестве API-бэкенда для вашего приложения Next.js. В этом контексте вы можете использовать Laravel для предоставления аутентификации и хранения/извлечения данных для вашего приложения, а также воспользоваться мощными сервисами Laravel, такими как очереди, электронная почта, уведомления и многое другое.

Если вы планируете использовать Laravel именно так, вам, возможно, стоит ознакомиться с нашей документацией по маршрутизации, Laravel Sanctum и Eloquent ORM.

Примечание Нужен старт для построения бэкэнда Laravel и фронтенда Next.js? Laravel Breeze предлагает стек API а также реализацию фронтенда Next.js, чтобы вы могли начать за несколько минут.