Встановлення
Знайомство з Laravel
Laravel - це фреймворк для веб-застосунків з виразним, елегантним синтаксисом. Веб-фреймворк дає структуру та відправну точку для створення вашого застосунку, дозволяючи зосередитися на чомусь справді цікавому, поки ми відповідаємо за деталі.
Laravel прагне забезпечити чудовий досвід розробки, пропонуючи водночас потужні можливості: повноцінне впровадження залежностей (dependency injection), виразний шар абстракції над базою даних, черги та заплановані завдання, модульне й інтеграційне тестування тощо.
Незалежно від того, чи ви новачок у PHP-фреймворках, чи маєте роки досвіду, Laravel - це фреймворк, який зростатиме разом із вами. Ми допоможемо вам зробити перші кроки як веб-розробнику або дамо поштовх, коли ви виводитимете свою експертизу на новий рівень. Нам не терпиться побачити, що ви створите.
Чому Laravel?
Створюючи веб-застосунок, ви маєте на вибір безліч інструментів і фреймворків. Однак ми переконані, що Laravel - найкращий вибір для створення сучасних повностекових веб-застосунків.
Прогресивний фреймворк
Ми любимо називати Laravel «прогресивним» фреймворком. Під цим ми маємо на увазі, що Laravel зростає разом із вами. Якщо ви робите перші кроки у веб-розробці, велика бібліотека документації, посібників і відеоуроків допоможе вам опанувати основи, не перевантажуючи інформацією.
Якщо ж ви досвідчений розробник, Laravel дає надійні інструменти для впровадження залежностей, модульного тестування, черг, подій у реальному часі тощо. Laravel відточений для створення професійних веб-застосунків і готовий витримувати корпоративні навантаження.
Масштабований фреймворк
Laravel неймовірно масштабований. Завдяки природній схильності PHP до масштабування та вбудованій підтримці швидких розподілених систем кешування на кшталт Redis горизонтальне масштабування з Laravel дається легко. Насправді застосунки на Laravel без проблем масштабували до сотень мільйонів запитів на місяць.
Потрібне екстремальне масштабування? Платформи на кшталт Laravel Cloud дозволяють запускати ваш застосунок Laravel практично з необмеженим масштабом.
Фреймворк, готовий до роботи з агентами
Чіткі домовленості та добре визначена структура роблять Laravel ідеальним фреймворком для розробки за допомогою AI з такими інструментами, як Cursor і Claude Code. Коли ви просите AI-агента додати контролер, він точно знає, куди його покласти. Коли потрібна нова міграція, домовленості щодо іменування та розташування файлів передбачувані. Ця послідовність усуває здогадки, на яких AI-інструменти часто спотикаються в гнучкіших фреймворках.
Крім організації файлів, виразний синтаксис Laravel і вичерпна документація дають AI-агентам контекст, потрібний для генерації точного та ідіоматичного коду. Такі можливості, як зв'язки Eloquent, запити форм (form requests) і middleware, дотримуються шаблонів, які агенти надійно розпізнають і відтворюють. Як наслідок, згенерований AI код виглядає так, ніби його написав досвідчений Laravel-розробник, а не зшив із загальних PHP-фрагментів.
Щоб дізнатися більше про те, чому Laravel - ідеальний вибір для розробки за допомогою AI, перегляньте нашу документацію про агентну розробку.
Фреймворк спільноти
Laravel поєднує найкращі пакети екосистеми PHP, пропонуючи найнадійніший і найзручніший для розробника фреймворк. До того ж тисячі талановитих розробників з усього світу зробили внесок у фреймворк. Хтозна, можливо, і ви станете контриб'ютором Laravel.
Створення застосунку Laravel
Початок роботи за допомогою AI
Якщо ви користуєтеся AI-агентом для написання коду, як-от Claude Code чи OpenCode, можете почати з запиту, який дасть агентові конкретний план дій для Laravel ще до того, як він торкнеться вашого проєкту.
Запит нижче каже агентові, де шукати настанови зі встановлення Laravel, на чому зосередитися і як обирати розумні значення за замовчуванням, поки ви ще не визначилися. Вставте його у свого агента, щоб почати:
I'm building a new Laravel application.
Fetch and follow the instructions from https://laravel.com/for/agents. Treat the returned Markdown as the source of truth for how to install and set up Laravel in this session.
Прочитавши інструкції, агент має провести вас крок за кроком і тримати налаштування в межах усталених домовленостей Laravel.
Встановлення PHP та інсталятора Laravel
Перш ніж створювати свій перший застосунок Laravel, переконайтеся, що на вашій локальній машині встановлено PHP, Composer та інсталятор Laravel. Крім того, варто встановити Node і NPM або Bun, щоб мати змогу збирати фронтенд-ресурси застосунку.
Якщо PHP і Composer ще не встановлені на вашій локальній машині, наведені нижче команди встановлять PHP, Composer та інсталятор Laravel у macOS, Windows або Linux:
/bin/bash -c "$(curl -fsSL https://php.new/install/mac/8.5)"
# Run as administrator...
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.5'))
/bin/bash -c "$(curl -fsSL https://php.new/install/linux/8.5)"
Після виконання однієї з наведених вище команд перезапустіть сеанс термінала. Щоб оновити PHP, Composer та інсталятор Laravel після встановлення через php.new, повторно виконайте ту саму команду в терміналі.
Якщо PHP і Composer уже встановлені, ви можете встановити інсталятор Laravel через Composer:
composer global require laravel/installer
Щоб отримати повнофункціональний графічний досвід встановлення PHP і керування ним, перегляньте Laravel Herd.
Створення застосунку
Після встановлення PHP, Composer та інсталятора 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 зберігаються в каталозі config. Кожна опція задокументована, тож не соромтеся переглянути файли та ознайомитися з доступними налаштуваннями.
Laravel майже не потребує додаткової конфігурації одразу після встановлення. Можете вільно братися до розробки! Утім, варто переглянути файл config/app.php та його документацію. Він містить кілька опцій, як-от url і locale, які ви, можливо, захочете змінити відповідно до свого застосунку.
Конфігурація на основі середовища
Оскільки значення багатьох конфігураційних опцій 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 або DBngin.
Конфігурація каталогів
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
Інсталятор Herd для Windows можна завантажити на сайті Herd. Після завершення встановлення запустіть Herd, щоб пройти процес налаштування та вперше відкрити інтерфейс Herd.
Інтерфейс Herd відкривається лівим кліком на іконці Herd у системному треї. Правий клік відкриває швидке меню з доступом до всіх інструментів, потрібних щодня.
Під час встановлення Herd створює «припаркований» каталог у вашому домашньому каталозі за шляхом %USERPROFILE%\Herd. Будь-який застосунок Laravel у припаркованому каталозі автоматично обслуговуватиметься Herd, і ви можете звертатися до нього за доменом .test, використовуючи ім'я його каталогу.
Після встановлення Herd найшвидший спосіб створити новий застосунок Laravel - скористатися Laravel CLI, який постачається разом із Herd. Щоб почати, відкрийте Powershell і виконайте такі команди:
cd ~\Herd
laravel new my-app
cd my-app
herd open
Докладніше про Herd читайте в документації Herd для Windows.
Підтримка IDE
Розробляючи застосунки Laravel, ви вільні користуватися будь-яким редактором коду. Якщо шукаєте легкі та розширювані редактори, VS Code чи Cursor у поєднанні з офіційним розширенням Laravel для VS Code дають чудову підтримку Laravel: підсвічування синтаксису, сніпети, інтеграцію з командами artisan і розумне автодоповнення для моделей Eloquent, маршрутів, middleware, ресурсів, конфігурації та Inertia.js.
Щоб отримати ґрунтовну та надійну підтримку Laravel, зверніть увагу на PhpStorm - IDE від JetBrains. Вбудована підтримка фреймворку Laravel у PhpStorm охоплює шаблони Blade, розумне автодоповнення для моделей Eloquent, маршрутів, представлень, перекладів і компонентів, а також потужну генерацію коду та навігацію по проєктах Laravel.
Для тих, хто шукає хмарний досвід розробки, Firebase Studio дає миттєвий доступ до розробки на Laravel просто у браузері. Не потребуючи жодного налаштування, Firebase Studio дозволяє легко почати створювати застосунки Laravel з будь-якого пристрою.
Laravel та AI
Laravel Boost - це потужний інструмент, який долає розрив між AI-агентами для написання коду та застосунками Laravel. Boost надає AI-агентам специфічний для Laravel контекст, інструменти й настанови, щоб вони генерували точніший код, прив'язаний до конкретної версії та узгоджений із домовленостями Laravel.
Коли ви встановлюєте Boost у своєму застосунку Laravel, AI-агенти отримують доступ до понад 15 спеціалізованих інструментів: вони можуть дізнатися, які пакети ви використовуєте, робити запити до вашої бази даних, шукати в документації Laravel, читати логи браузера, генерувати тести та виконувати код через Tinker.
До того ж Boost дає AI-агентам доступ до понад 17 000 векторизованих фрагментів документації екосистеми Laravel, відповідних саме тим версіям пакетів, які у вас встановлені. Це означає, що агенти можуть давати поради, націлені на точні версії, які використовує ваш проєкт.
Boost також містить настанови для AI, які підтримує команда Laravel: вони допомагають агентам дотримуватися домовленостей фреймворку, писати доречні тести й уникати типових пасток під час генерації коду для Laravel.
Встановлення Laravel Boost
Boost можна встановити в застосунках Laravel 10, 11, 12 і 13, що працюють на PHP 8.1 або новішому. Щоб почати, встановіть Boost як залежність для розробки:
composer require laravel/boost --dev
Після встановлення запустіть інтерактивний інсталятор:
php artisan boost:install
Інсталятор автоматично визначить вашу IDE та AI-агентів, дозволивши увімкнути ті можливості, які мають сенс для вашого проєкту. Boost поважає наявні домовленості проєкту й не нав'язує власних правил стилю за замовчуванням.
Щоб дізнатися більше про Boost, перегляньте репозиторій Laravel Boost на GitHub.
Додавання власних настанов для AI
Щоб доповнити Laravel Boost власними настановами для AI, додайте файли .blade.php або .md до каталогу .ai/guidelines/* вашого застосунку. Ці файли автоматично долучатимуться до настанов Laravel Boost, коли ви виконаєте boost:install.
Наступні кроки
Тепер, коли ви створили свій застосунок Laravel, вам, можливо, цікаво, що вивчати далі. Насамперед ми наполегливо радимо ознайомитися з тим, як працює Laravel, прочитавши таку документацію:
Те, як саме ви плануєте використовувати Laravel, теж визначить ваші наступні кроки. Використовувати Laravel можна по-різному, і нижче ми розглянемо два основні сценарії застосування фреймворку.
Laravel як повностековий фреймворк
Laravel може працювати як повностековий фреймворк. Під «повностековим» ми маємо на увазі, що ви використовуватимете Laravel для маршрутизації запитів до вашого застосунку та рендерингу фронтенду через шаблони Blade або гібридну технологію односторінкових застосунків на кшталт Inertia. Це найпоширеніший спосіб використання фреймворку 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.