Установка
Познакомьтесь с Laravel
Laravel - это среда веб-приложений с выразительным элегантным синтаксисом. Веб-фреймворк обеспечивает структуру и отправную точку для создания Вашего приложения, позволяя Вам сосредоточиться на создании чего-то удивительного, пока мы не будем вдаваться в детали.
Laravel стремится обеспечить потрясающий опыт разработчика, предоставляя мощные функции, такие как тщательное внедрение зависимостей, выразительный уровень абстракции базы данных, очереди и запланированные задания, модульное и интеграционное тестирование и многое другое.
Если Вы новичок в PHP или веб-фреймворках или имеете многолетний опыт, Laravel - это фреймворк, который может расти вместе с Вами. Мы поможем Вам сделать первые шаги в качестве веб-разработчика или подскажем, как Вы выведете свой опыт на новый уровень. Нам не терпится увидеть, что Вы построите.
Почему именно Laravel?
При создании веб-приложения Вам доступны различные инструменты и платформы. Однако мы считаем, что Laravel - лучший выбор для создания современных полнофункциональных веб-приложений.
Прогрессивный фреймворк
Нам нравится называть Laravel «прогрессивным» фреймворком. Под этим мы подразумеваем, что Laravel растет вместе с Вами. Если Вы только делаете первые шаги в веб-разработке, обширная библиотека документации, руководств и видеоуроков Laravel поможет Вам изучить основы, не перегружая себя.
Если Вы старший разработчик, Laravel предоставляет Вам надежные инструменты для внедрения зависимостей, модульного тестирования, очередей, события в реальном времени и другие. Laravel оптимизирован для создания профессиональных веб-приложений и готов обрабатывать корпоративные рабочие нагрузки.
Масштабируемый фреймворк
Laravel невероятно масштабируем. Благодаря удобному для масштабирования характеру PHP и встроенной поддержке Laravel быстрых распределенных систем кеширования, таких как Redis, горизонтальное масштабирование с помощью Laravel очень просто. Фактически, приложения Laravel легко масштабируются для обработки сотен миллионов запросов в месяц.
Требуется экстремальное масштабирование? Такие платформы, как Laravel Vapor, позволяют запускать приложение Laravel в практически неограниченном масштабе с использованием новейшей бессерверной технологии AWS.
Сообщество фреймворка
Laravel объединяет лучшие пакеты в экосистеме PHP, чтобы предложить наиболее надежную и удобную для разработчиков структуру. Кроме того, тысячи талантливых разработчиков со всего мира внесли свой вклад в фреймворк. Кто знает, возможно, Вы даже станете участником Laravel.
Ваш первый проект на Laravel
Мы хотим, чтобы начать работу с Laravel было как можно проще. Существует множество вариантов разработки и запуска проекта Laravel на Вашем собственном компьютере. Хотя Вы, возможно, захотите изучить эти варианты позже, Laravel предоставляет Sail, встроенное решение для запуска вашего проекта Laravel с использованием Docker.
Docker - это инструмент для запуска приложений и служб в небольших и легких «контейнерах», которые не мешают установленному на Вашем локальном компьютере программному обеспечению или конфигурации. Это означает, что Вам не нужно беспокоиться о настройке или настройке сложных инструментов разработки, таких как веб-серверы и базы данных на Вашем персональном компьютере. Для начала Вам нужно всего лишь установить Docker Desktop.
Laravel Sail - это легкий интерфейс командной строки для взаимодействия с конфигурацией Docker по умолчанию в Laravel. Sail обеспечивает отличную отправную точку для создания приложения Laravel с использованием PHP, MySQL и Redis без предварительного опыта работы с Docker.
{tip} Уже являетесь экспертом по 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 будет создан в каталоге, из которого Вы выполняете команду.
После создания проекта Вы можете перейти в каталог приложения и запустить Laravel Sail. Laravel Sail предоставляет простой интерфейс командной строки для взаимодействия с конфигурацией Docker по умолчанию в Laravel:
cd example-app ./vendor/bin/sail up
При первом запуске команды Sail up
на Вашем компьютере будут созданы контейнеры приложений Sail. Это может занять несколько минут. Не волнуйтесь, последующие попытки запустить Sail будут намного быстрее.
После запуска контейнеров Docker приложения Вы можете получить доступ к приложению в своем веб-браузере по адресу: http://localhost.
{tip} Чтобы продолжить изучение Laravel Sail, просмотрите его полную документацию.
Начало работы в Windows
Прежде чем мы создадим новое приложение Laravel на Вашем компьютере с Windows, обязательно установите Docker Desktop. Затем Вы должны убедиться, что подсистема Windows для Linux 2 (WSL2) установлена и включена. WSL позволяет запускать двоичные исполняемые файлы Linux изначально в Windows 10. Информацию о том, как установить и включить WSL2, можно найти в документации по среде разработчика Microsoft.
{tip} После установки и включения WSL2 вы должны убедиться, что Docker Desktop настроен на использование серверной части WSL2.
Затем Вы готовы создать свой первый проект Laravel. Запустите Терминал Windows и начните новый сеанс терминала для Вашей операционной системы WSL2 Linux. Затем Вы можете использовать простую команду терминала для создания нового проекта Laravel. Например, чтобы создать новое приложение Laravel в каталоге с именем «example-app», Вы можете запустить следующую команду в своем терминале:
curl -s https://laravel.build/example-app | bash
Конечно, Вы можете изменить "example-app" в этом URL на что угодно. Каталог приложения Laravel будет создан в каталоге, из которого Вы выполняете команду.
После создания проекта Вы можете перейти в каталог приложения и запустить Laravel Sail. Laravel Sail предоставляет простой интерфейс командной строки для взаимодействия с конфигурацией Docker по умолчанию в Laravel:
cd example-app ./vendor/bin/sail up
При первом запуске команды Sail up
на Вашем компьютере будут созданы контейнеры приложений Sail. Это может занять несколько минут. Не волнуйтесь, последующие попытки запустить Sail будут намного быстрее.
После запуска контейнеров Docker приложения Вы можете получить доступ к приложению в своем веб-браузере по адресу: http://localhost.
{tip} Чтобы продолжить изучение Laravel Sail, просмотрите его полную документацию.
Разработка в WSL2
Конечно, Вам потребуется иметь возможность изменять файлы приложения Laravel, которые были созданы в Вашей установке WSL2. Для этого мы рекомендуем использовать редактор Microsoft Visual Studio Code и его собственное расширение для Remote Development.
После установки этих инструментов Вы можете открыть любой проект Laravel, выполнив команду code .
Из корневого каталога Вашего приложения с помощью Терминала Windows.
Начало работы в Linux
Если вы разрабатываете для Linux и Docker Compose уже установлен, вы можете использовать простую команду терминала для создания нового проекта Laravel. Например, чтобы создать новое приложение Laravel в каталоге с именем "example-app", вы можете запустить следующую команду в своем терминале:
curl -s https://laravel.build/example-app | bash
Конечно, Вы можете изменить "example-app" в этом URL на что угодно. Каталог приложения Laravel будет создан в каталоге, из которого Вы выполняете команду.
После создания проекта Вы можете перейти в каталог приложения и запустить Laravel Sail. Laravel Sail предоставляет простой интерфейс командной строки для взаимодействия с конфигурацией Docker по умолчанию в Laravel:
cd example-app ./vendor/bin/sail up
При первом запуске команды Sail up
на Вашем компьютере будут созданы контейнеры приложений Sail. Это может занять несколько минут. Не волнуйтесь, последующие попытки запустить Sail будут намного быстрее.
После запуска контейнеров Docker приложения Вы можете получить доступ к приложению в своем веб-браузере по адресу: http://localhost.
{tip} Чтобы узнать больше о Laravel Sail, просмотрите его полную документацию.
Выбор сервиса Sail
При создании нового приложения Laravel через Sail вы можете использовать переменную строки запроса with
, чтобы выбрать, какие сервисы следует настроить в файле docker-compose.yml
вашего нового приложения. Доступные сервисы включают mysql
, pgsql
, mariadb
, redis
, memcached
, meilisearch
, minio
, selenium
и mailhog
:
curl -s "https://laravel.build/example-app?with=mysql,redis" | bash
Если вы не укажете, какие службы вы хотите настроить, будет настроен стек по умолчанию из mysql
, redis
, meilisearch
, mailhog
и selenium
.
Установка через Composer
Если на Вашем компьютере уже установлены PHP и Composer, Вы можете создать новый проект Laravel напрямую с помощью Composer. После того, как приложение было создано, Вы можете запустить локальный сервер разработки Laravel, используя команду Artisan CLI serve
:
composer create-project laravel/laravel:^8.0 example-app cd example-app php artisan serve
Установщик Laravel
Или вы можете установить установщик Laravel как глобальную зависимость Composer:
composer global require laravel/installer laravel new example-app cd example-app php artisan serve
Обязательно поместите общесистемный каталог bin поставщика Composer в Ваш $PATH
, чтобы исполняемый файл laravel
мог быть обнаружен Вашей системой. Этот каталог существует в разных местах в зависимости от Вашей операционной системы; однако некоторые общие местоположения включают:
- macOS:
$HOME/.composer/vendor/bin
- Windows:
%USERPROFILE%\AppData\Roaming\Composer\vendor\bin
- GNU / Linux Distributions:
$HOME/.config/composer/vendor/bin
or$HOME/.composer/vendor/bin
Для удобства установщик Laravel также может создать репозиторий Git для вашего нового проекта. Чтобы указать, что вы хотите создать репозиторий Git, передайте флаг --git
при создании нового проекта:
laravel new example-app --git
Эта команда инициализирует новый репозиторий Git для вашего проекта и автоматически зафиксирует базовый скелет Laravel. Флаг git
предполагает, что вы правильно установили и настроили Git. Вы также можете использовать флаг --branch
, чтобы установить начальное имя ветки:
laravel new example-app --git --branch="main"
Вместо использования флага --git
вы также можете использовать флаг --github
для создания репозитория Git, а также создать соответствующий частный репозиторий на GitHub:
laravel new example-app --github
Созданный репозиторий будет доступен по адресу https://github.com/<your-account>/example-app
. Флаг github
предполагает, что вы правильно установили GitHub CLI и прошли аутентификацию с помощью GitHub. Кроме того, у вас должен быть установлен и правильно настроен git
. При необходимости вы можете передать дополнительные флаги, поддерживаемые интерфейсом командной строки GitHub:
laravel new example-app --github="--public"
Вы можете использовать флаг --organization
для создания репозитория в определенной организации GitHub:
laravel new example-app --github="--public" --organization="laravel"
Начальная конфигурация
Все файлы конфигурации для фреймворка Laravel хранятся в каталоге config
. Каждый параметр задокументирован, поэтому не стесняйтесь просматривать файлы и знакомиться с доступными Вам вариантами.
Laravel практически не требует дополнительной настройки из коробки. Вы можете начать разработку! Однако Вы можете просмотреть файл config/app.php
и его документацию. Он содержит несколько параметров, таких как timezone
и locale
, которые Вы можете изменить в соответствии с Вашим приложением.
Конфигурация на основе среды
Поскольку многие значения параметров конфигурации Laravel могут различаться в зависимости от того, работает ли Ваше приложение на локальном компьютере или на продакшн веб-сервере, многие важные значения конфигурации определяются с помощью файла .env
, который существует в корне Вашего приложения.
Ваш файл .env
не должен быть привязан к системе контроля версий Вашего приложения, поскольку каждому разработчику / серверу, использующему Ваше приложение, может потребоваться другая конфигурация среды. Кроме того, это будет угрозой безопасности в случае, если злоумышленник получит доступ к Вашему репозиторию системы управления версиями, поскольку любые конфиденциальные учетные данные будут раскрыты.
{tip} Для получения дополнительной информации о файле
.env
и основной конфигурации среды ознакомьтесь с полной документацией по конфигурации.
Конфигурация каталога
Laravel всегда должен обслуживаться из корня «веб-каталога», настроенного для вашего веб-сервера. Вы не должны пытаться обслуживать приложение Laravel из подкаталога «веб-каталога». Попытка сделать это может открыть доступ к конфиденциальным файлам, существующим в вашем приложении.
Следующие шаги
Теперь, когда Вы создали свой проект Laravel, Вам может быть интересно, чему научиться дальше. Во-первых, мы настоятельно рекомендуем ознакомиться с тем, как работает Laravel, прочитав следующую документацию:
То, как Вы хотите использовать Laravel, также будет определять следующие шаги на Вашем пути. Существует множество способов использования Laravel, и мы рассмотрим два основных варианта использования фреймворка ниже.
Laravel - Фул-Стек фреймворк
Laravel может служить полноценным фреймворком. Под "фреймворком полного стека" мы подразумеваем, что вы собираетесь использовать Laravel для маршрутизации запросов к вашему приложению и рендеринга интерфейса через шаблоны Blade или с помощью гибридного одностраничного приложения, такие технологии, как Inertia.js. Это наиболее распространенный способ использования фреймворка Laravel.
Если Вы планируете использовать Laravel именно так, Вы можете ознакомиться с нашей документацией по маршрутизации, представлениям или Eloquent ORM. Кроме того, Вам может быть интересно узнать о таких пакетах сообщества, как Livewire и Inertia.js. Эти пакеты позволяют использовать Laravel в качестве фреймворка полного стека, обладая при этом многими преимуществами пользовательского интерфейса, предоставляемыми одностраничными приложениями JavaScript.
Если Вы используете Laravel в качестве фреймворка полного стека, мы также настоятельно рекомендуем Вам научиться компилировать CSS и JavaScript Вашего приложения с помощью Laravel Mix.
{tip} Если Вы хотите начать разработку своего приложения, воспользуйтесь одним из наших официальных стартовых наборов приложений.
Laravel как бэкэнд API
Laravel также может служить серверной частью API для одностраничного приложения JavaScript или мобильного приложения. Например, Вы можете использовать Laravel в качестве серверной части API для своего приложения Next.js. В этом контексте Вы можете использовать Laravel для обеспечения аутентификации и хранения / извлечения данных для Вашего приложения, а также пользуясь преимуществами мощных сервисов Laravel, таких как очереди, электронная почта, уведомления и другое.
{tip} Нужна фора в создании серверной части Laravel и внешнего интерфейса Next.js? Laravel Breeze предлагает стек API, а также реализацию внешнего интерфейса Next.js, чтобы вы могли начать работу за считанные минуты.