- Встречайте Laravel
- Ваш первый проект на Laravel
- Laravel и Docker
- Начальная конфигурация
- Следующие шаги
Laravel – фреймворк веб-приложения с выразительным, элегантным синтаксисом. Веб-фреймворк предлагает структуру и отправную точку для создания вашего приложения, позволяя вам сосредоточиться на создании чего-то удивительного, но пока мы не будем вдаваться в детали.
Laravel стремится обеспечить потрясающий опыт разработчика, предоставляя при этом мощный функционал: тщательное внедрение зависимостей, выразительный уровень абстракции базы данных, очереди и запланированные задачи, модульное и интеграционное тестирование и многое другое.
Независимо от того, новичок ли вы в веб-фреймворках PHP или имеете многолетний опыт, Laravel – это фреймворк, который может расти вместе с вами. Мы поможем вам сделать первые шаги в качестве веб-разработчика или подскажем, как вы поднимите свой опыт на новый уровень. Нам не терпится увидеть, что вы построите.
Примечание
Новичок в Laravel? Посетите Laravel Bootcamp для практического ознакомления с фреймворком, пока мы познакомим вас с созданием вашего первого приложения Laravel.
При создании веб-приложения вам доступны различные инструменты и фреймворки. Однако мы считаем, что Laravel – лучший выбор для создания современных полнофункциональных веб-приложений.
Нам нравится называть Laravel «прогрессивным» фреймворком. Под этим мы подразумеваем, что Laravel растет вместе с вами. Если вы только делаете первые шаги в веб-разработке, обширная библиотека документации, руководств и видеоуроков Laravel поможет вам изучить основы, не перегружая себя.
Если вы старший разработчик, Laravel предлагает вам надежные инструменты для внедрения зависимостей, модульного тестирования, создания очередей, событий в реальном времени и многое другое. Laravel оптимизирован для создания профессиональных веб-приложений и готов обрабатывать корпоративные рабочие нагрузки.
Laravel невероятно масштабируем. Благодаря удобному для масштабирования характеру PHP и встроенной поддержке быстрых распределенных систем кеширования, таких как Redis, горизонтальное масштабирование с Laravel очень просто. Фактически, приложения Laravel легко масштабируются для обработки сотен миллионов запросов в месяц.
Требуется экстремальное масштабирование? Такие платформы, как Laravel Vapor, позволяют запускать приложение Laravel в практически неограниченном масштабе с использованием новейшей бессерверной технологии AWS.
Laravel объединяет лучшие пакеты в экосистеме PHP, чтобы предложить наиболее надежный и удобный для разработчиков фреймворк. Кроме того, тысячи талантливых разработчиков со всего мира внесли свой вклад в фреймворк. Кто знает, возможно, вы даже станете соучастником Laravel.
Перед созданием вашего первого проекта Laravel вы должны убедиться, что на вашем локальном компьютере установлены PHP и Composer. Если вы разрабатываете на macOS, PHP и Composer можно установить через Homebrew. Кроме того, мы рекомендуем установить Node и NPM.
После того, как вы установили PHP и Composer, вы можете создать новый проект Laravel с помощью команды create-project
Composer:
composer create-project laravel/laravel example-app
Или вы можете создавать новые проекты Laravel, установив глобально установщик Laravel через Composer:
composer global require laravel/installer
laravel new example-app
После создания проекта запустите локальный сервер разработки Laravel с помощью команды serve
интерфейса командной строки Laravel Artisan:
cd example-app
php artisan serve
Как только вы запустите сервер разработки Artisan, ваше приложение будет доступно в вашем веб-браузере по адресу http://localhost:8000
. Теперь вы готовы сделать следующие шаги в экосистеме Laravel. Конечно, вы также можете настроить базу данных.
Примечание
Если вы хотите получить преимущество перед созданием своего приложения, ознакомьтесь с одним из наших официальных стартовых комплектов приложений. Стартовые комплекты Laravel обеспечивают каркас аутентификации как серверной части, так и внешнего интерфейса для вашего нового приложения Laravel.
Мы хотим, чтобы начать работу с 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.
Если вы разрабатываете на 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, просмотрите его полную документацию.
Прежде чем мы создадим новое приложение Laravel на вашей локальной машине с Windows, обязательно установите Docker Desktop. Затем вы должны убедиться, что подсистема Windows для Linux 2 (WSL2) установлена и включена. WSL позволяет запускать двоичные исполняемые файлы Linux прямо в Windows 10. Информацию о том, как установить и включить WSL2, можно найти в документации Среда разработки.
Примечание
После установки и включения WSL2 вы должны убедиться, что Docker Desktop настроен на использование серверной части WSL2.
Теперь вы готовы создать свой первый проект Laravel. Запустите Терминал Windows и начните новый сеанс терминала для вашей операционной системы 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, просмотрите его полную документацию.
Конечно, вам нужно будет иметь возможность изменять файлы приложения Laravel, которые были созданы в вашей установке WSL2. Для этого мы рекомендуем использовать редактор Microsoft Visual Studio Code и его собственное расширение Remote Development.
После установки этих инструментов вы можете открыть любой проект Laravel, выполнив из корневого каталога вашего приложения команду code .
с помощью Терминала Windows.
Если вы разрабатываете в Linux и Docker Compose уже установлен, то вы можете использовать простую команду терминала для создания нового проекта 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, просмотрите его полную документацию.
При создании нового приложения 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
.
Вы можете указать 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 — это небольшой, быстрый, автономный движок базы данных. Для начала создайте базу данных SQLite, создав пустой файл SQLite. Как правило, этот файл будет находиться в каталоге database
вашего приложения Laravel:
touch database/database.sqlite
Затем обновите файл конфигурации .env
, чтобы использовать драйвер базы данных sqlite
. Вы можете удалить другие параметры конфигурации базы данных:
DB_CONNECTION=sqlite # [tl! add]
DB_CONNECTION=mysql # [tl! remove]
DB_HOST=127.0.0.1 # [tl! remove]
DB_PORT=3306 # [tl! remove]
DB_DATABASE=laravel # [tl! remove]
DB_USERNAME=root # [tl! remove]
DB_PASSWORD= # [tl! remove]
После того, как вы настроили свою базу данных SQLite, вы можете запустить миграции базы данных вашего приложения, которые создадут таблицы базы данных вашего приложения:
php artisan migrate
Теперь, когда вы создали свой проект Laravel, вам может быть интересно, чему научиться дальше. Во-первых, мы настоятельно рекомендуем ознакомиться с тем, как работает Laravel, прочитав следующие разделы документации:
- Жизненный цикл запроса
- Конфигурирование
- Структура каталогов
- Внешний интерфейс приложения
- Контейнер служб
- Фасады
То, как вы хотите использовать Laravel, также будет определять следующие шаги на вашем пути. Существует множество способов использования Laravel, и мы рассмотрим два основных варианта использования фреймворка ниже.
Примечание
Новичок в Laravel? Посетите Laravel Bootcamp для практического ознакомления с фреймворком, пока мы познакомим вас с созданием вашего первого приложения Laravel.
Laravel может служить клиент-серверным фреймворком. Под «клиент-серверным фреймворком» мы подразумеваем, что вы собираетесь использовать Laravel для маршрутизации запросов к вашему приложению и отрисовки интерфейса через шаблоны Blade или гибридную технологию одностраничного приложения, такой как Inertia. Это наиболее распространенный способ использования фреймворка Laravel и, на наш взгляд, самый продуктивный способ использования Laravel.
Если вы планируете использовать Laravel именно таким образом, то вы можете ознакомиться с нашей документацией по разработке внешнего интерфейса, маршрутизации, представлениям или Eloquent ORM. Кроме того, вам может быть интересно узнать о таких пакетах сообщества, как Livewire и Inertia. Эти пакеты позволяют использовать Laravel в качестве фреймворка полного стека, при этом пользуясь многими преимуществами UI, предоставляемыми одностраничными JavaScript-приложениями.
Если вы используете Laravel в качестве фреймворка полного стека, мы также настоятельно рекомендуем вам научиться компилировать CSS и JavaScript вашего приложения с помощью Vite.
Примечание
Если вы хотите получить преимущество перед созданием своего приложения, ознакомьтесь с одним из наших официальных стартовых комплектов приложений.
Laravel также может служить серверной частью API для одностраничного JavaScript-приложения или мобильного приложения. Например, вы можете использовать Laravel в качестве серверной части API для своего Next.js приложения. В этом контексте вы можете использовать Laravel для обеспечения аутентификации и хранения / получения данных для вашего приложения, а также пользуясь преимуществами мощных служб Laravel, таких как очереди, электронная почта, уведомления и многое другое.
Если вы планируете использовать Laravel именно так, то вы можете ознакомиться с нашей документацией по маршрутизации, пакету Laravel Sanctum и Eloquent ORM.
Примечание
Вы хотите создать серверную часть на Laravel, а интерфейс на Next.js? Laravel Breeze предлагает стек API, а также реализацию внешнего интерфейса Next.js, чтобы вы могли начать работу за считанные минуты.