Php artisan запуск сервера

Установка Laravel

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

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

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

Новичок в Laravel? Проверьте контент на сайте bootcamp.laravel.com для быстрого практического ознакомления с возможностями фреймворка.

Почему Laravel?

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

Прогрессивный фреймворк

В данном случае это означает, что каков бы ни был ваш опыт в веб-разработке, Laravel найдет что вам предложить. Экосистема фреймворка огромна и изучать его можно долго. На сайте laracasts.com можно найти видео туториалы самых разных уровней сложности.

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

Масштабируемый фреймворк

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

Нуждаетесь в экстремальном масштабировании? Такие инструменты, как Laravel Vapor, позволяют повысить возможности масштабируемости практически до неограниченных масштабов благодаря serverless-технологиям.

Фреймворк для сообщества

Тысячи талантливых разработчиков со всего мира внесли свой вклад в развитие Laravel. Данный фреймворк не является какой-то закрытой системой, но состоит из десятков лучших и зарекомендовавших себя PHP-пакетов, в совокупности давая невероятно удобные возможности по созданию приложений.

Ваш первый проект на Laravel

Перед созданием вашего первого проекта на Laravel, следует убедиться, что на вашей локальной машине установлен PHP и Composer (менеджер пакетов для PHP). Если вы разрабатываете на macOS, PHP и Composer могут быть установлены через Homebrew. В дополнение, рекомендуется установить Node и NPM, если в ваших приложениях предполагается наличие современных фронтенд решений.

Читайте также:  Java array set element

После установки PHP и Composer вы можете создать Laravel проект с помощью консольных возможностей composer:

composer create-project laravel/laravel my-app

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

composer global require laravel/installer laravel new my-app

После того, как проект был создан, вы уже можете начать локальную разработку с помощью команды artisan serve .

cd my-app php artisan serve

После того как вы запустите Artisan сервер для разработки, приложение станет доступно по адресу localhost:8000 . Теперь вы можете делать следующие шаги в изучении Laravel.

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

Laravel и Docker

Здорово, когда есть возможность стартовать с Laravel максимально легко, вне зависимости от вашей операционной системы. Есть много вариантов для разработки и запуска Laravel приложений на локальном компьютере. Например, Laravel предоставляет собственный пакет Sail для быстрого развертывания проекта с помощью Docker.

Docker это инструмент для запуска приложений в небольших легковесных контейнерах, которые не конфликтуют с программным обеспечением, установленным на вашем ПК. Это означает, что вам необязательно разбираться в настройке таких непростых инструментов, как веб-сервер и сервер баз данных. Для старта вам достаточно установить Docker Desktop.

Laravel Sail это легковесный CLI (интерфейс командной строки) для взаимодействия с конфигурацией Docker. Sail предоставляет прекрасный стартовый полигон для создания веб-приложений с использованием MySQL, Redis и других инструментов без необходимости иметь опыт с Docker.

Вы уже эксперт в Docker? Вы сможете кастомизировать Sail под свои потребности с помощью файла docker-compose.yml .

Начало работы на macOS

Если вы разрабатываете на маке и Docker Desktop уже установлен, вы можете использовать простую консольную команду для создания нового проекта. К примеру, для создания проекта в папке my-app можно использовать такую команду:

curl -s "https://laravel.build/my-app" | bash

Проект будет создан в той директории, в которой вы вызываете команду. Установка Sail может занять несколько минут пока контейнеры приложения собираются на вашей локальной машине.

После создания проекта вы можете перейти в его директорию и стартовать его.

cd my-app ./vendor/bin/sail up

После того, как Docker-контейнеры для приложения будут запущены, оно станет доступно по адресу http://localhost .

Начало работы на Windows

Для начала работы с Laravel Sail на Windows вам также потребуется установить Docker Desktop. Далее вам следует убедиться, что подсистема для Linux установлена и работает (WSL 2). WSL позволяет запускать двоичные исполняемые файлы Linux нативно на Windows 10. Информацию по установке и включению WSL 2 можно найти в официальной документации Microsoft.

Читайте также:  Как сделать размытым фон css

После установки и активации WSL 2 вам следует убедиться, что Docker настроен на использование WSL 2 бэкенда. Для этого обратитесь уже к документации Docker для интеграции с WSL.

После этих шагов вы готовы к созданию проектов на Laravel Sail. Запустите терминал Windows и начните новую консольную сессию для вашего WSL 2. Для создания проекта hello можно использовать такую команду:

curl -s https://laravel.build/hello | bash

Имя приложения может состоять только из буквенно-цифровых символов, дефиса или знака подчеркивания. Следующий шаг по запуску проекта полностью такой же, как и в случае с macOS — переход в папку проекта и его запуск с помощью ./vendor/bin/sail up .

Для разработки приложения в рамках WSL 2 отлично подойдет редактор кода от Microsoft — Visual Studio Code и официальное расширение от разработчиков под названием Remote Development.

После установки редактора и расширения, вы можете открыть Laravel проект из терминала, перейдя в корень проект и выполнив команду code . (code + точка). Это откроет проект в редакторе Visual Studio Code.

Начало работы на Linux

Если вы разрабатываете на Linux и Docker Compose уже установлен, вы можете использовать простую консольную команду для создания проекта.

curl -s https://laravel.build/your-project | bash

Старт приложения выполняется точно так же, как и на macOS | WSL 2.

Выбор сервисов для Sail

При создании нового Laravel приложения с помощью Sail, вы можете использовать параметр with , в котором через запятую можно перечислить те сервисы, которые вам нужны. Доступные сервисы включают в себя mysql, pgsql, mariadb, redis, memcached, meilisearch, minio, selenium, mailpit . Вот пример создания приложения с выбором двух сервисов:

curl -s "https://laravel.build/example-app?with=mysql,redis" | bash

Если вы не укажете сервисы, приложение будет создано со стандартным стэком, который включает в себя mysql , redis , meilisearch , mailpit и selenium .

Вы можете проинструктировать Sail для создания дев-контейнера по умолчанию, добавив параметр devcontainer в url.

curl -s "https://laravel.build/example-app?with=mysql,redis&devcontainer" | bash

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

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

Laravel сконфигурирован так, что вы обычно можете сразу приступать к разработке. Однако файл config/app.php может потребовать вашего внимания. Здесь лежат такие опции, как timezone и locale, позволяющие установить таймзону и локаль приложения.

Конфигурация на основе среды

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

Читайте также:  Code read php file

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

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

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

Для простых приложений, учебных целей и просто для тестирования часто ставят SQLite. Это простой и быстрый движок баз данных.

Если вы не хотите пока ставить MySQL или Postgres, можно поставить SQLite и создать базу следующим образом:

touch database/database.sqlite

Все что вам нужно для использования sqlite это указать настройку DB_CONNECTION со значением sqlite. Остальные опции в случае работы с SQLite не нужны.

Для работы с MySQL оставляем все опции с префиксом DB. DB_CONNECTION=mysql , а в опции DB_DATABASE следует указать имя базы данных.

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

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

Итак, мы создали первое приложение с помощью Laravel, сконфигурировали базу данных и готовы к дальнейшей работе. Далее вам следует изучать главные архитектурные концепции и идеи Laravel. Это такие темы как:

  • жизненный цикл запроса
  • конфигурация приложения
  • структура директорий
  • работа с фронтендом
  • сервисные контейнеры
  • фасады

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

Laravel как Full стэк фреймворк

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

Вам также следует изучить такие темы, как роутинг, виды, работа с Eloquent ORM. Также будет плюсом разобраться с компиляцией CSS/JS файлов проекта с помощью Vite.

Laravel как API бэкенд

Laravel также может работать в режиме API бэкенда, обслуживать api-эндпоинты и отдавая контент по json/xml для SPA-приложений или мобильных приложений. Также можно использовать фреймворк для создания API бэкенда для использования в SSR-фреймворках Next.js, Nuxt.js и других. В этом контексте вы можете использовать Laravel для аутентификации, хранения данных и других возможностей, которые он предоставляет.

Вам также потребуется изучать такие темы, как роутинг, Eloquent ORM, возможно Laravel Sanctum (пакет для аутентификации).

Источник

Оцените статью