Содержание
что это за PHP-фреймворк, примеры разработки
Laravel («Ларавел» или «Ларавель») — это бесплатный PHP-фреймворк с открытым исходным кодом, специально разработанный для создания сложных сайтов и веб-приложений. Позволяет упростить аутентификацию, маршрутизацию, сессии, кэширование, архитектуру приложения, работу с базой данных.
Логотип Laravel
Кто и зачем использует Laravel
Laravel пользуются backend-разработчики, которые пишут код на PHP. Он помогает определить структуру веб-приложения и служит для нее каркасом. Фреймворк написан на PHP и расширяет его возможности. Распространяется бесплатно под лицензией MIT.
Назначение Laravel — создание веб-приложений и сайтов на основе MVC (model-view-controller). Это вариант архитектуры, при котором компоненты программы делятся на три части:
- модель (model) предоставляет данные и методы работы с ними: запросы в базу данных, проверка на корректность;
- представление (view) показывает пользователю эти данные и изменяется, если меняется модель;
- контроллер (controller) направляет данные от пользователя к системе и наоборот.
Когда пользователь работает с приложением, построенным по схеме MVC, он взаимодействует с представлением и контроллером. Представление — это то, что он видит, например сведения, которые отображены в визуальном интерфейсе. А контроллеру пользователь отдает команды.
Например, нажатие на кнопку в приложении будет обращением к контроллеру. Тот видоизменит модель. Потом обновится представление: оно получит из модели новые данные и изменит состояние. Так пользователь увидит результат нажатия на кнопку.
Наглядно взаимодействие представлено на схеме.
Архитектура MVC
Архитектура MVC позволяет писать более читабельный код, а процесс разработки сделать комфортным, разграничивая работу frontend- и backend-разработчиков.
Возможности фреймворка Laravel
Консоль Artisan
Artisan — интерфейс командной строки, включенный в Lavarel. Он позволяет генерировать модели, новые тесты, контроллеры, уведомления из командной строки. Это намного удобнее, чем копировать откуда-либо шаблон класса или писать его вручную. Чтобы посмотреть команды, вы можете воспользоваться командой list:list: php artisan list
Консоль используют для работы с базами данных, управления контроллером и других действий. Разработчик может написать для нее собственные команды.
Eloquent ORM
ORM — это технология программирования для связи базы данных и языка программирования. Использование ORM позволяет ускорить разработку. Для PHP существует множество реализаций ORM, но Laravel пользуется собственной. Она называется Eloquent и работает по схеме ActiveRecord, согласно которой каждой таблице в базе соответствует один класс. Eloquent любят за удобство и возможность писать понятный код, который легко поддерживать, защиту от SQL-инъекций — способа взлома сайтов и программ. ORM можно загрузить отдельно от остальных компонентов Laravel.
Конструктор Fluent
Это конструктор для быстрого построения запросов к базе, который полностью совместим с ядром Eloquent ORM. Fluent — мощный инструмент, позволяющий с легкостью модифицировать записи в базе данных. Все запросы используют подготовленные выражения и защищены от SQL-инъекций.
Шаблонизатор Blade
Шаблонизаторы используются для превращения HTML-шаблонов в готовые страницы. Шаблоны — это заготовки для будущих веб-страниц, которые включают HTML-верстку без контента и PHP-код. Задача программы-шаблонизатора — выполнить PHP-код и подставить в шаблон контент, чтобы превратить его в готовую страницу. PHP в итоговой веб-странице быть не должно.
Blade — это шаблонизатор фреймворка Laravel. Он не имеет ограничений на чистый PHP в шаблонах — это удобнее для backend-разработчика. Отсутствие ограничений не создает дополнительной нагрузки на приложение.
Валидация
Валидация — проверка входящих данных. Она нужна, чтобы случайная ошибка была вовремя найдена и обработана. Логику валидации можно написать самостоятельно. Если пользователь введет неверные данные, он попадет на предыдущую страницу. Сайт не «упадет» и останется работоспособным.
Система контроля версий баз данных
Это позволяет проводить миграции — модификации структуры базы данных. С помощью фреймворка можно гибко управлять миграцией прямо через Artisan: запускать, откатывать по отдельности или полностью, видоизменять.
Юнит-тестирование
Его еще называют модульным тестированием. Это «базовый уровень» проведения тестов. На работоспособность тестируются отдельные модули кода. Это нужно, чтобы позже не столкнуться с ошибкой на более высоких уровнях.
Этапы тестирования
В Laravel по умолчанию встроена система PHPUnit — инструмент, который позволяет создавать и проводить тесты. С PHPUnit это проще, чем вручную.
Аутентификация
С Laravel можно реализовать вход на сайт с помощью логина и пароля либо через социальные сети.
Например, пакеты Laravel Passport и Laravel Socialite позволяют входить через API других приложений с помощью стандарта OAuth. Это протокол авторизации, который дает возможность авторизоваться с помощью учетной записи другого сайта, чаще всего соцсети.
Пакет Laravel Sanctum отвечает за аутентификацию для простых приложений и одностраничных сайтов. Он более легковесный, чем Passport, и авторизует пользователя с помощью системы токенов — физических устройств.
Особенности Laravel
Развитая экосистема
Комьюнити включает несколько сайтов (на русском языке https://laravel.su/, https://laravel.ru/) со статьями об особенностях Laravel, дополнительным программным обеспечением для удобной работы с фреймворком.
Существуют мировые конференции — они называются Laracon и проводятся с 2013 года.
Экосистема постоянно развивается. Это помогает поддерживать интерес к проекту со стороны спонсоров и способствует развитию Laravel.
Высокая производительность
Laravel поддерживает noSQL-базы данных. Они отличаются более высокой скоростью работы, чем привычные БД. Информация хранится в оперативной памяти сервера, поэтому можно быстро получить к ней доступ.
Laravel позволяет управлять кэшированием и имеет собственный механизм очередности процессов. Это повышает производительность, ускоряет доступ к данным и уменьшает нагрузку на вычислительные мощности.
Безопасность
В Laravel встроены механизмы защиты от SQL-инъекций и XSS-атак. SQL-инъекции не дает провести собственная ORM: она не позволяет обрабатывать посторонние SQL-запросы. А от XSS-атак защищает возможность экранировать теги.
Открытый код
Laravel — open-source программное обеспечение. Это значит, что любой разработчик может внести изменения в собственный экземпляр ПО. Исходный код выложен на GitHub. На практике этой возможностью пользуются очень редко. Фреймворки обычно не переписывают, чтобы избежать конфликтов с обновлениями. Польза в другом: можно просмотреть код программного обеспечения и понять, как работает тот или иной модуль.
Понятный синтаксис
У Laravel понятный синтаксис — это способствует читаемости кода. В нем нет длинных и сложных конструкций, много «синтаксического сахара». Так называют команды и возможности, которые не добавляют в ПО ничего нового, но делают написание кода проще.
Гибкая маршрутизация
Маршрутизация — это создание маршрута, по которому информация передается от одной точки к другой. В веб-программировании это анализ URL и запроса пользователя и выполнение кода в зависимости от запроса. Можно выделять маршруты в группы, использовать различные способы проверки, управлять пространствами имен и применять регулярные выражения.
Легкая миграция
Благодаря системе контроля версий структуры БД разработчикам легко изменять и при необходимости откатывать базу. Поэтому риск критичной поломки БД сводится к минимуму — это важно, если над проектом одновременно работают несколько человек.
Мультиязычность
Laravel можно использовать для создания сайтов на несколько языковых зон. Это, например, сайты для русскоязычных и англоязычных пользователей. Фреймворк поддерживает множество языков. Настроить многоязычность можно очень быстро.
Обилие пакетов и библиотек
Библиотеки нужны для решения конкретных задач и позволяют в одну строчку выполнить действие, которое при написании вручную языке заняло бы десятки строк. Это своеобразные наборы функций для упрощения работы программиста. Их можно скачать и использовать при разработке.
Пакеты — это программные модули, которые подключаются к фреймворку и расширяют его возможности. Они более функциональны, чем единичные библиотеки, и нужны для реализации определенных решений. Например, Laravel Sanctum — это пакет для быстрой аутентификации по токену.
Несмотря на функциональность, фреймворк оставляет специалисту много ручного труда. Это обеспечивает гибкость при создании программных решений, но и сильно замедляет работу. Также Laravel сложнее конкурентов в изучении.
для чего он нужен, что умеет и чем лучше других PHP-фреймворков
Laravel – это бесплатный PHP-фреймворк с открытым исходным кодом. Laravel разработали в качестве помощника при создании сложных веб-ресурсов и приложений. С его помощью специалисты упрощают процесс аутентификации, а также работу с БД, кэширование, сессии, структуру приложения, маршрутизацию и другие не менее важные процессы.
Возможностей у платформы Laravel немало. Одна из них – построение логичной архитектуры для проектов любой сложности и типа. Платформа характеризуется:
- высокой производительностью;
- возможностью интеграции с другими платформами, а также библиотеками;
- немалым количеством интересных возможностей для разработчиков сайтов и приложений.
Кому и для чего может понадобиться Laravel
Отвечая на данный вопрос, надо отметить, что фреймворк обладает хорошей гибкостью. С его помощью могут решаться сложные и нестандартные задачи. Огромный функционал дает возможность создавать четкую архитектуру, заниматься кэшированием, разрабатывать маршрутизацию из серии RESTful. Laravel находится в числе первых, кто стал работать с PSR-4. Так называют стандарт, позволяющий заниматься структурированием веб-ресурса с учетом требований заказчика.
Но если разрабатывать сайт с нуля и пытаться воплощать в жизнь все замыслы заказчика, то в этом деле нужен опыт, немалые знания. Так что в этой ситуации стоит прибегнуть к поддержке со стороны профессионалов.
Комьюнити теперь в Телеграм
Подпишитесь и будьте в курсе последних IT-новостей
Подписаться
Что может фреймворк Laravel?
В этом подразделе упор делается на:
- особенности разработки с участием этой платформы;
- плюсы сайтов, сделанных на Laravel;
- пошаговое создание сайта.
Об особенностях разработки
Быстрое создание сайтов с нуля – это одна из основных особенностей фреймворка. Ее можно считать и главным преимуществом. Программист становится обладателем многочисленных инструментов, с помощью которых он может решать задачи любой сложности. Опытные разработчики – это хорошо. Но чтобы создать и ввести в работу хороший сайт на Laravel, их опыта явно недостаточно. В обязательном порядке надо подключать к работе аналитика, дизайнера и маркетолога. Эти спецы составят техзадание, пропишут нужный код, создадут уникальный дизайн, протестируют все элементы, запустят сайт и будут в дальнейшем его поддерживать.
Пару слов о тестировании. Его надо делать, и вот почему: если проект отличается повышенной сложностью, то на то, чтобы протестировать его инструменты и необычные возможности, нужно немало времени. Так что тестирование должно быть поэтапным и качественным. Тогда проблемы будут ликвидированы до запуска сайта, что позволит сохранить пользователей.
О плюсах ресурсов на Laravel
Доступность, почти безграничные возможности, библиотеки и разнообразные инструменты – все это про Laravel. Плюсы платформы заключаются в:
- Безопасности. Никакие SQL, CSRF и XSS не смогут получить доступ к закрытой информации.
- Масштабируемости. Ресурс может развиваться на постоянной основе. Доступно расширение стартового функционала.
- Хорошей производительности. Благодаря отвечающим за кэширование инструментам можно быстрее ознакомиться с данными. Страницы быстрее загружаются.
- Структуре любого вида сложности. Без проблем создается архитектура с большим количеством уровней.
- Отсутствии проблем с администрированием. Гибкость в настройке дает возможность подстраивать сайт под требования заказчика.
- Скорости создания сайта. С помощью Laravel ресурсы создаются оперативно. Внедрение новейших технологий с этим фреймворком – без проблем! Плюс платформа сама готова снабдить имеющимися у нее модулями, которым по силам решение многочисленных задач. С их поддержкой программист увеличивает скорость разработки веб-ресурса.
- Поддержке различных версий веб-сайта. Если есть потребность в тестировании обновлений, то не стоит менять основную версию. Так что ресурс будет совершенствоваться, а пользователи при этом никакого дискомфорта не ощутят.
- Обновлениях. Новые версии выходят на регулярной основе. И каждый вариант учитывает все аспекты разработки, внедренные до его появления.
Пошаговая инструкция по созданию сайта на Laravel
Каждый сайт разрабатывается в соответствии со следующими этапами:
- Сначала ставятся задачи, с заказчиком оговариваются цели. Прописываются особенности и нужный функционал.
- Разрабатывается архитектура. В этом фреймворке она иерархическая.
- Прописывается код, выстраивается управленческая система.
- Проводится разработка дизайна. Его и функционал сайта надо аккуратно совместить.
- Ведется работа над качественным контентом.
- Сайт размещается на хостинге, публикуется.
- Если веб-студия дорожит своей репутацией, то обязательно предложит техподдержку.
Особенности Laravel в техническом плане
Фреймворк гарантирует хорошую производительность, отдельно стоит упомянуть кэширование. Благодаря соответствующему драйверу файловая система сохраняет в себе большое количество различных элементов. Подобный подход способствует более быстрой разработке самых разных по сложности приложений. Система аутентификации в Laravel очень удобна, с ее помощью можно даже контролировать доступ к имеющимся ресурсам. То есть неавторизованные пользователи, как говорится, не останутся незамеченными.
А что можно сделать на Laravel еще? Например, позаботиться с помощью фреймворка о безопасности всех приложений. Точнее, Ларавел сделает это сам. Никакие CSRF тут не проскочат, как и инъекции SQL.
Другие особенности платформы:
- Встроенный ORM, речь идет о Eloquent. Данная система дает возможность работать с различными БД. Это достигается путем реализации шаблона под названием ActiveRecord. То есть можно работать, но при этом не создавать SQL-запросы повышенного уровня сложности.
- Платформа дружит с архитектурным дизайном MVC. Он оказывает помощь в разделении бизнес-логики и интерфейса для обычного пользователя. Движок таких шаблонов тоже поддерживается фреймворком Ларавел. Поэтому тут зеленый свет гарантирован нативному PHP-коду.
- Фреймворк дает возможность работать над приложениями очень быстро, в ходе работы сложный код разработчикам попросту не нужен. То, что в основе Ларавел лежит MVC-архитектура, гарантирует доступ ко всему, что надо для создания веб-ресурса.
- Эффективная работа с трафиком. Чем известнее сайт, тем большее число запросов в секунду обязано принимать и пускать в обработку приложение. Соответственно, сервер получает приличную нагрузку, а хостинг увеличивается в цене. В таком темпе сервер иногда решает не отвечать, и данные могут потеряться. Но подобные риски с Laravel сведены к минимуму. Причина – реализация в фреймворке интересной системы информационной очереди. С ее помощью нагрузка на сервер упорядочивается. И работа не прерывается, и с данными все в порядке.
Любой бизнес, разрабатывая приложение, будет ориентироваться на список собственных потребностей, индикаторов для наблюдения за производительностью, требований к программному обеспечению. Если планируется «реставрировать» уже работающее приложение либо создавать с нуля собственное, то рекомендуется в первую очередь обратить внимание на требования к его характеристикам. Не помешает (по возможности) уделить внимание развертыванию – как гибридному, так и локальному. Это позволит убедиться, что выбор сделан правильно, и он полностью совместим с фреймворками и задействованными в работе языками программирования. Если проект носит корпоративную направленность, то лучше Laravel еще ничего не придумали.
Кто должен заниматься разработкой веб-ресурса?
Время идет, а вместе с ним приходится совершенствовать предъявляемые к функционалу требования. Проект не может останавливаться и топтаться на одном месте. Он растет, происходит его совершенствование. И без качественного сайта обойтись невозможно. Причем он должен полностью удовлетворять не только требования заказчика, но и пользователей.
О масштабировании рекомендуем подумать заранее. Также потребуется регулярная доработка сайта. Делать это с новейшими инструментами просто, существенные вложения не требуются. Учитывая все это, можно сделать вывод: сайт на Laravel надо доверять профи.
Если вам нужен сайт на Laravel, то мы сделаем для вас лучший проект 🙂
Платформа PHP для веб-мастеров
Laravel — это среда веб-приложений с выразительным и элегантным синтаксисом. Мы уже заложили основу — даем вам возможность творить, не беспокоясь о мелочах.
Начать
Смотреть ларакасты
Любимая тысячами разработчиков по всему миру.
«Я пользуюсь Laravel почти десять лет, и у меня никогда не было соблазна переключиться на что-то другое».
Адам Ватан
Создатель Tailwind CSS
«Laravel упрощает создание современных масштабируемых веб-приложений».
Аарон Фрэнсис
Создатель Torchlight и коляски
«Laravel превратился в удивительное инновационное и активное сообщество. Laravel — это гораздо больше, чем просто PHP-фреймворк».
Бобби Боуманн
Элитный разработчик в Enrise
«Как PHP-разработчик старой школы, я перепробовал множество фреймворков; ни один из них не дал мне такой скорости разработки и удовольствия от использования, как Laravel.
Это глоток свежего воздуха в экосистеме PHP с блестящим сообществом вокруг него».
Эрика Хайди
Создатель Minicli
«Laravel — не что иное, как наслаждение. Это позволяет мне создавать любые веб-приложения с рекордной скоростью и радостью».
Калеб Порцио
Создатель Livewire и Alpine.js
«Я нашел Laravel случайно, но сразу понял, что нашел то, что мне нужно. Фреймворк, экосистема и сообщество — идеальное сочетание. Я работал над потрясающими проектами и встречал невероятных людей; можно с уверенностью сказать, что Laravel изменил мою жизнь».
Zuzana Kunckova
Full-Stack Developer
«Лучшие в своем классе инструменты тестирования Laravel дают мне уверенность в быстрой доставке надежных приложений».
Майкл Дырында
Laravel Artisan + Laracon AU Organizer
«Laravel был как ракетное топливо для моей карьеры и бизнеса».
Крис Артер
Разработчик в Bankrate
«Я использую Laravel более 10 лет и не могу представить себе использование PHP без него».
Эрик Л. Барнс
Основатель Laravel News
«Мне уже много лет нравится, что Laravel уделяет особое внимание повышению опыта разработчиков на новый уровень. Все части экосистемы мощные, хорошо спроектированные, с ними интересно работать, и у них отличная документация. Приятно быть частью окружающего дружелюбного и готового помочь сообщества».
Фрик Ван дер Хертен
Владелец Spatie
«Laravel и его экосистема инструментов помогают мне создавать клиентские проекты быстрее, безопаснее и качественнее, чем любые другие инструменты».
Джейсон Беггс
Владелец жареного.dev
«Я не в полной мере оценил универсальное, всеобъемлющее решение Laravel, пока не попробовал (много) разных экосистем. Laravel вне конкуренции!»
Джозеф Силбер
Создатель Bouncer
«Laravel помог мне запускать продукты быстрее, чем любое другое решение, позволяя мне быстрее и быстрее выходить на рынок по мере развития сообщества».
Стив Макдугалл
Создатель Laravel Transporter
«Я использую Laravel для каждого проекта за последние десять лет в то время, когда каждый день запускается новый фреймворк. На сегодняшний день ничего подобного просто нет».
Фило Херманс
Основатель Anystack
«Laravel для разработчиков, которые пишут код, потому что могут, а не потому, что должны».
Люк Даунинг
Создатель + Разработчик
«Laravel делает создание веб-приложений захватывающим! Это также помогло мне стать лучшим разработчиком 🤙“
Тони Ли
Основатель DevDojo
«Экосистема Laravel стала неотъемлемой частью успеха нашего бизнеса. Фреймворк позволяет нам двигаться быстро и регулярно выпускать продукцию, а Laravel Vapor позволил нам с легкостью работать в невероятном масштабе».
Джек Эллис
Соучредитель Fathom Analytics
Установка — Laravel — PHP Framework для веб-мастеров
Версия
Master10.x9.x8.x7.x6.x5.85.75.65.55.45.35.25.15.04.2
- Познакомьтесь с Ларавелем
- Почему Ларавель?
- Ваш первый проект Laravel
- Ларавель и Докер
- Начало работы на macOS
- Начало работы в Windows
- Начало работы в Linux
- Выбор ваших парусных услуг
- Начальная конфигурация
- Конфигурация на основе среды
- Базы данных и миграции
- Следующие шаги
- Laravel Фреймворк полного стека
- Laravel Серверная часть API
Знакомьтесь с Laravel
Laravel — это платформа веб-приложений с выразительным и элегантным синтаксисом. Веб-фреймворк обеспечивает структуру и отправную точку для создания вашего приложения, позволяя вам сосредоточиться на создании чего-то удивительного, пока мы работаем над деталями.
Laravel стремится предоставить удивительный опыт разработчика, предоставляя мощные функции, такие как тщательное внедрение зависимостей, выразительный уровень абстракции базы данных, очереди и запланированные задания, модульное и интеграционное тестирование и многое другое.
Если вы новичок в веб-фреймворках PHP или имеете многолетний опыт, Laravel — это фреймворк, который может расти вместе с вами. Мы поможем вам сделать первые шаги в качестве веб-разработчика или поддержим вас, когда вы поднимете свой опыт на новый уровень. Нам не терпится увидеть, что вы построите.
Примечание
Новичок в Laravel? Посетите Laravel Bootcamp для практического ознакомления с фреймворком, пока мы познакомим вас с созданием вашего первого приложения Laravel.
Почему Laravel?
Существует множество инструментов и сред, доступных вам при создании веб-приложения. Однако мы считаем, что Laravel — лучший выбор для создания современных полнофункциональных веб-приложений.
Прогрессивный фреймворк
Нам нравится называть Laravel «прогрессивным» фреймворком. Под этим мы подразумеваем, что Laravel растет вместе с вами. Если вы только делаете первые шаги в веб-разработке, обширная библиотека документации, руководств и видеоуроков Laravel поможет вам освоить основы, не перегружаясь.
Если вы старший разработчик, Laravel предоставит вам надежные инструменты для внедрения зависимостей, модульного тестирования, очередей, событий в реальном времени и многого другого. Laravel точно настроен для создания профессиональных веб-приложений и готов к работе с корпоративными нагрузками.
Масштабируемая платформа
Laravel невероятно масштабируем. Благодаря удобному для масштабирования характеру PHP и встроенной поддержке Laravel для быстрых распределенных систем кэширования, таких как Redis, горизонтальное масштабирование с Laravel очень просто. Фактически, приложения Laravel легко масштабируются для обработки сотен миллионов запросов в месяц.
Требуется экстремальное масштабирование? Такие платформы, как Laravel Vapor, позволяют запускать приложение Laravel практически в неограниченном масштабе на новейшей бессерверной технологии AWS.
Фреймворк сообщества
Laravel сочетает в себе лучшие пакеты в экосистеме PHP, чтобы предложить самый надежный и удобный для разработчиков фреймворк. Кроме того, в разработку фреймворка внесли свой вклад тысячи талантливых разработчиков со всего мира. Кто знает, может быть, вы даже станете участником Laravel.
Ваш первый проект Laravel
Перед созданием вашего первого проекта Laravel вы должны убедиться, что на вашем локальном компьютере установлены PHP и Composer. Если вы разрабатываете на macOS, PHP и Composer можно установить через Homebrew. Кроме того, мы рекомендуем установить Node и NPM.
После того, как вы установили PHP и Composer, вы можете создать новый проект Laravel с помощью команды Composer create-project
:
composer create-project laravel/laravel example-app
Или вы можете создавать новые проекты Laravel, глобально устанавливая установщик Laravel через Composer: локальный сервер разработки с использованием интерфейса командной строки Laravel Artisan serve
команда:
cd example-app
php artisan serve
После запуска сервера разработки Artisan ваше приложение будет доступно в веб-браузере в http://локальный:8000
. Теперь вы готовы сделать следующие шаги в экосистеме Laravel. Конечно, вы также можете настроить базу данных.
Примечание
Если вы хотите получить преимущество при разработке своего приложения Laravel, рассмотрите возможность использования одного из наших стартовых наборов. Стартовые наборы Laravel обеспечивают основу аутентификации на бэкенде и внешнем интерфейсе для вашего нового приложения Laravel.
Laravel & Docker
Мы хотим, чтобы начать работу с Laravel было как можно проще, независимо от предпочитаемой операционной системы. Таким образом, существует множество вариантов разработки и запуска проекта Laravel на вашем локальном компьютере. Хотя вы, возможно, захотите изучить эти варианты позже, Laravel предоставляет Sail, встроенное решение для запуска вашего проекта Laravel с помощью Docker.
Docker — это инструмент для запуска приложений и служб в небольших, легких «контейнерах», которые не мешают установленному программному обеспечению или конфигурации вашего локального компьютера. Это означает, что вам не нужно беспокоиться о настройке или настройке сложных инструментов разработки, таких как веб-серверы и базы данных, на вашем локальном компьютере. Для начала вам нужно всего лишь установить Docker Desktop.
Laravel Sail — это облегченный интерфейс командной строки для взаимодействия с конфигурацией Laravel Docker по умолчанию. 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 по умолчанию: доступ к приложению в веб-браузере по адресу: http://localhost.
Примечание
Чтобы узнать больше о Laravel Sail, ознакомьтесь с полной документацией.
Начало работы в Windows
Прежде чем мы создадим новое приложение Laravel на вашем компьютере с Windows, обязательно установите Docker Desktop. Затем вы должны убедиться, что подсистема Windows для Linux 2 (WSL2) установлена и включена. WSL позволяет запускать двоичные исполняемые файлы Linux изначально в Windows 10. Информацию о том, как установить и включить WSL2, можно найти в документации по среде разработчика Microsoft.
Примечание
После установки и включения 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, ознакомьтесь с полной документацией.
Разработка в WSL2
Конечно, вам нужно будет иметь возможность изменять файлы приложений Laravel, которые были созданы в вашей установке WSL2. Для этого мы рекомендуем использовать редактор Microsoft Visual Studio Code и их собственное расширение для удаленной разработки.
После установки этих инструментов вы можете открыть любой проект Laravel, выполнив код .
из корневого каталога вашего приложения с помощью терминала Windows.
Начало работы в Linux
Если вы разрабатываете в 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, ознакомьтесь с полной документацией.
Выбор сервисов Sail
При создании нового приложения Laravel через Sail вы можете использовать с
, чтобы выбрать, какие службы следует настроить в файле docker-compose.yml вашего нового приложения. Available services include mysql
, pgsql
, mariadb
, redis
, memcached
, meilisearch
, minio
, selenium
, and 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 хранятся в папке конфиг
каталог. Каждый параметр задокументирован, поэтому не стесняйтесь просматривать файлы и знакомиться с доступными вам параметрами.
Laravel почти не требует дополнительной настройки из коробки. Вы можете приступить к разработке! Однако вы можете просмотреть файл config/app.php и его документацию. Он содержит несколько параметров, таких как часовой пояс
и локаль
, которые вы можете изменить в соответствии с вашим приложением.
Конфигурация на основе среды
Поскольку многие значения параметров конфигурации Laravel могут различаться в зависимости от того, работает ли ваше приложение на локальном компьютере или на рабочем веб-сервере, многие важные значения конфигурации определяются с использованием файла .env
, который существует по адресу корень вашего приложения.
Ваш файл .env
не должен быть зафиксирован в системе контроля версий вашего приложения, поскольку каждому разработчику/серверу, использующему ваше приложение, может потребоваться своя конфигурация среды. Кроме того, это может представлять угрозу безопасности в случае, если злоумышленник получит доступ к вашему репозиторию системы управления версиями, поскольку любые конфиденциальные учетные данные будут раскрыты.
Примечание
Для получения дополнительной информации о файле.env
и конфигурации на основе среды ознакомьтесь с полной документацией по конфигурации.
Базы данных и миграции
Теперь, когда вы создали свое приложение Laravel, вы, вероятно, захотите сохранить некоторые данные в базе данных. По умолчанию файл конфигурации .env
вашего приложения указывает, что Laravel будет взаимодействовать с базой данных MySQL и будет получать доступ к базе данных в 127.0.0.1
. Если вы разрабатываете на macOS и вам нужно установить MySQL, Postgres или Redis локально, вам может быть удобно использовать DBngin.
Если вы не хотите устанавливать MySQL или Postgres на свой локальный компьютер, вы всегда можете использовать базу данных SQLite. SQLite — это небольшой, быстрый, автономный движок базы данных. Для начала создайте базу данных SQLite, создав пустой файл SQLite. Как правило, этот файл будет существовать в каталоге базы данных
вашего приложения Laravel:
touch database/database.sqlite
Затем обновите файл конфигурации .env
, чтобы использовать драйвер базы данных sqlite
Laravel. You may remove the other database configuration options:
DB_CONNECTION=sqlite
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=laravel
DB_USERNAME=root
DB_PASSWORD=
Once вы настроили свою базу данных SQLite, вы можете запустить миграцию базы данных вашего приложения, которая создаст таблицы базы данных вашего приложения:
php artisan migrate
Следующие шаги
Теперь, когда вы создали свой проект 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.
Примечание
Если вы хотите быстро приступить к созданию своего приложения, ознакомьтесь с одним из наших официальных стартовых наборов приложений.