Любите загадки? Событие еще доступно на сайте.
Поделитесь своим кодом и идеями!
Поделитесь своим кодом и идеями!

Установка

Встречайте 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

Установка PHP и установщика Laravel

Прежде чем создавать свое первое приложение Laravel, убедитесь, что на вашем локальном компьютере установлены PHP, Composer и [установщик Laravel](https:/ /github.com/laravel/installer). Кроме того, вам следует установить либо Node и NPM, либо Bun, чтобы вы могли скомпилировать ресурсы внешнего интерфейса вашего приложения.

Если на вашем локальном компьютере не установлены PHP и Composer, следующие команды установят PHP, Composer и установщик Laravel в macOS, Windows или Linux:

/bin/bash -c "$(curl -fsSL https://php.new/install/mac/8.4)"
# Запуск от имени администратора...
Set-ExecutionPolicy Bypass -Scope Process -Force; [System.Net.ServicePointManager]::SecurityProtocol = [System.Net.ServicePointManager]::SecurityProtocol -bor 3072; iex ((New-Object System.Net.WebClient).DownloadString('https://php.new/install/windows/8.4'))
/bin/bash -c "$(curl -fsSL https://php.new/install/linux/8.4)"

После выполнения одной из приведенных выше команд вам следует перезапустить сеанс терминала. Чтобы обновить PHP, Composer и установщик Laravel после их установки через php.new, вы можете повторно запустить команду в своем терминале.

Если у вас уже установлены PHP и Composer, вы можете установить установщик Laravel через Composer:

composer global require laravel/installer

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

Создание приложения

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

laravel new example-app

После создания приложения вы можете запустить локальный сервер разработки Laravel, обработчик очереди и сервер разработки Vite, используя скрипт Composer dev:

cd example-app
npm install && npm run build
composer run dev

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

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

Начальная конфигурация

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

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

Конфигурация на основе окружения

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

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

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

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

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

При создании приложения Laravel автоматически создаёт файл database/database.sqlite и выполняет необходимые миграции для создания таблиц базы данных.

Если вы предпочитаете использовать другой драйвер базы данных, такой как MySQL или PostgreSQL, вы можете обновить файл .env, чтобы указать соответствующую базу данных. Например, для использования MySQL измените переменные DB_* в файле .env следующим образом:

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

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

php artisan migrate

Если вы разрабатываете для macOS или Windows и вам необходимо установить MySQL, PostgreSQL или Redis локально, рассмотрите возможность использования Herd Pro.

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

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

Локальная установка с использованием Herd

Laravel Herd — это невероятно быстрая встроенная среда разработки Laravel и PHP для macOS и Windows. Herd включает в себя все необходимое для начала разработки на Laravel, включая PHP и Nginx.

После установки Herd вы готовы начать разработку с помощью Laravel. Herd включает инструменты командной строки для php, composer, laravel, expose, node, npm и nvm.

Herd Pro дополняет Herd дополнительными мощными функциями, такими как возможность создания и управления локальными базами данных MySQL, Postgres и Redis, а также локальный просмотр почты и мониторинг журналов.

Herd на macOS

Если вы занимаетесь разработкой на macOS, вы можете загрузить установщик Herd с веб-сайта Herd. Установщик автоматически загружает последнюю версию PHP и настраивает ваш Mac для постоянного запуска Nginx в фоновом режиме.

Herd для macOS использует dnsmasq для поддержки «припаркованных» каталогов. Любое приложение Laravel в припаркованном каталоге будет автоматически обслуживаться Herd. По умолчанию Herd создает припаркованный каталог в ~/Herd, и вы можете получить доступ к любому приложению Laravel в этом каталоге в домене .test, используя его имя каталога.

После установки Herd самый быстрый способ создать новое приложение Laravel — использовать Laravel CLI, который входит в состав Herd:

cd ~/Herd
laravel new my-app
cd my-app
herd open

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

Вы можете узнать больше о Herd, просмотрев документацию Herd.

Herd на Windows

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

Доступ к пользовательскому интерфейсу Herd можно получить, щелкнув левой кнопкой мыши значок Herd на панели задач. Щелчок правой кнопкой мыши открывает быстрое меню с доступом ко всем инструментам, которые вам нужны ежедневно.

Во время установки Herd создает «припаркованный» каталог в вашем домашнем каталоге %USERPROFILE%\Herd. Любое приложение Laravel в припаркованном каталоге будет автоматически обслуживаться Herd, и вы можете получить доступ к любому приложению Laravel в этом каталоге в домене .test, используя его имя каталога.

После установки Herd самый быстрый способ создать новое приложение Laravel — использовать CLI Laravel, который входит в состав Herd. Для начала откройте Powershell и выполните следующие команды:

cd ~\Herd
laravel new my-app
cd my-app
herd open

Вы можете узнать больше о Herd, просмотрев документацию Herd для Windows.

Установка Docker с использованием Sail

Мы хотим, чтобы начало работы с 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.

Sail на 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 по умолчанию:

cd example-app

./vendor/bin/sail up

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

./vendor/bin/sail artisan migrate

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

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

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 по умолчанию:

cd example-app

./vendor/bin/sail up

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

./vendor/bin/sail artisan migrate

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

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

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

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

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

Sail на 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 приложения вам следует запустить миграции базы данных:

./vendor/bin/sail artisan migrate

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

Чтобы узнать больше о Laravel Sail, ознакомьтесь с его полной документацией.

Выбор сервисов Sail

При создании нового приложения Laravel через Sail вы можете использовать переменную строки запроса with для выбора того, какие сервисы должны быть настроены в файле docker-compose.yml вашего нового приложения. Доступные сервисы включают mysql, pgsql, mariadb, redis, memcached, meilisearch, typesense, 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

Поддержка IDE

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

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

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

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

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

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

Laravel как клиент-серверный фреймворк

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

Если вы планируете использовать Laravel в этом режиме, вам следует ознакомиться с нашей документацией по разработке фронтенда, маршрутизации, представлениям и ORM Eloquent. Также стоит обратить внимание на пакеты сообщества, такие как 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 stack и реализацию внешнего интерфейса Next.js, чтобы вы могли начать работу за считанные минуты.