Что такое PHP-фреймворк?
PHP-фреймворк — это программная платформа для создания веб-приложений высокого качества, при этом экономя значительное время на саму разработку.
Что такое Laravel?
Laravel — один из самых популярных PHP-фреймворков для написания веб-приложений, создан на основе Symfony, как альтернатива CodeIgniter — фреймворка, использующего архитектурную модель Model View Controller (MVC) с открытым исходным кодом. Laravel является самым сильным соперником в экосистеме PHP просто потому, что он включает в себя функции, необходимые для создания современных, поддерживаемых, распределенных веб-приложений в реальном времени. Кроме того, у него есть обширная видеотека Laracasts, содержащая более 900 руководств.
Преимущества PHP-фреймворка Laravel в создании веб-приложений
Комьюнити — Обширное сообщество поддерживает фреймворк
Благодаря открытому исходному коду и высокой популярности данного фреймворка, заказчику очень легко найти компанию, специализирующуюся на фреймворке Laravel. А исполнителю предоставляется большая библиотека написанных приложений для Laravel, которые постоянно обновляются и расширяются.
MVC — Разделение кода улучшает его поддерживаемость.
Структура Model — View — Controller позволяет изолировать друг от друга компоненты для выполнения различных задач.
ORM — Общие подходы и доступность данных в приложении
В Laravel используется Eloquent ORM, которая упрощает работу с базой данных
Шаблонизатор — Унификация отображения приложения
В Laravel используется легковесный и высокопроизводительный (благодаря кешированию) шаблонизатор Blade, с помощью которого вы можете легко стандартизировать и использовать в дальнейшем ваш шаблон.
Аутентификация и интеграция с сервисами — это легко
В Laravel, благодаря пакету Socialite, изначально есть возможность авторизации пользователя через различные сервисы, а также доступно разнообразие драйверов для работы с email и рассылкой SMS уведомлений.
PHPUnit-тесты — Автотесты для уверенности в качестве кода
Ручное тестирование подходит в большей степени для небольших проектов. При масштабных проектах, автоматической тестирование экономит значительное количество времени, что, соответственно, экономит бюджет. Также в Laravel можно выполнять модульное и функциональное тестирование.
Модульность — Обилие готовых решений экономит время на типовых задачах
Laravel предоставляет встроенные библиотеки и модули, которые помогают улучшить ваше веб-приложение. Каждый модуль интегрирован с менеджером зависимостей Composer, что упрощает обновление.
Производительность — Отображать быстрее быстрого
Благодаря кешированию, оптимизации фронтэнда и правильному разделению кода на компоненты удается обеспечивать действительно быстрый доступ к данным.
Мультиязычность — Tu parles français?
Laravel отлично подходит для мультиязычного проекта. В этом PHP-фреймворке не составит труда настроить многоязычность для вашего сайта.
Ошибки и исключения — под контролем
Обработка ошибок и исключений доступна «из коробки» для любого нового проекта на Laravel. Кроме того, Laravel интегрирован с библиотекой журналов Monolog, которая обеспечивает поддержку множества мощных обработчиков журналов.
Система миграций БД — Позволяет обновить базу данных автоматически
Упрощает развертывание и обновление веб-приложения, избавляя вас от ошибок и конфликтов, особенно, если над проектом работает команда разработчиков.
Планировщик — Выполнит все, по расписанию
В Laravel есть очень удобный планировщик, благодаря которому вы можете запланировать выполнение команд, без постоянного вашего участия. Кроме этого, можно создать отложенные задачи, выполнение которых может снизить производительность.
Скорость разработки — Не надо пилить все то, что уже напилено до нас
Это заслуга фреймворков в целом и Laravel в частности. Скорость разработки — одно из самых важных факторов в современном IT. Благодаря PHP-фреймворку Laravel, не только увеличивается скорость разработка web-приложений, но и их качество.
Безопасность — Хакер не пройдет
Laravel предлагает ряд встроенных функций безопасности: Защита от SQL-инъекций, защита от подделки межсайтовых запросов (CSRF), защита от XSS атак и пр.
Создатель Laravel, Тейлор Отвелл, как-то сказал: «Laravel действительно предлагает лучшие условия создания очень чистой и производительной рабочей среды для создания приложений любого размера». И, конечно же, мы считаем, что он прав. Laravel — один из самых известных PHP-фреймворков, который не только производителен, но и имеет обширную и глобальную поддержку со стороны создателей и разработчиков веб-приложений на Laravel.
А теперь к практике
Если на вашем компьютере уже установлены PHP и Composer или OpenServer, то вы можете создать новый проект Laravel напрямую с помощью Composer.
composer create-project laravel/laravel example-app
Composer установит Laravel в папку example-app.
Начальная конфигурация
Все файлы конфигурации для фреймворка Laravel хранятся в каталоге config
. Каждый параметр имеет комментарии, поэтому не стесняйтесь просматривать файлы и знакомиться с доступными вам вариантами.
Laravel практически не требует дополнительной настройки из коробки. Вы можете начать разработку! Однако вы можете просмотреть файл config/app.php
и его комментарии. Он содержит несколько параметров, таких как часовой пояс и локаль, которые вы можете изменить в соответствии с вашим приложением.
Для удобства я немного изменяю структуру папок. Переношу весь фреймворк в папку core и добавляю 2 файлика — .env .htaccess
Первый это настройки окружения приложения а второй отвечает за правильную адресацию приложения.

Пример .htaccess
RewriteEngine On RewriteRule (.*) /core/public/$1 [L]
Теперь не забываем что все комманды мы запускаем в папочке core
Теперь к файлику .env — это переменные среды фреймворка. Чтоб наш файл начал работать с фреймворком открываем bootstrap/app.php
и добавляем немножко изменений. после $app = new Illuminate\Foundation\Application(
$app->useEnvironmentPath( $_ENV['APP_ENV_PATH'] ?? dirname(__DIR__) . './../' );
Заходим в консоль в папке фреймворка и генерируем новый ключик для приложения.
php artisan key:generate
Для удобстава я устанавливаю еще и Debugbar — установка сводится к одной строчке, все остальное в описании на github ( выключить debugbar просто APP_DEBUG=true меняем на APP_DEBUG=false в нашем .env )
composer require barryvdh/laravel-debugbar --dev
На этом установка завершена. можем посмотреть что у нас получилось. В файле welcome.blade.php
выведем для проверки название приложения.
{{env('APP_NAME')}}
К слову все пути в приложении остались рабочими к примеру можем посмотреть
// Путь к корневой папке проекта echo base_path(); // Путь к папке «app» папке echo app_path(); // Путь к «public» папке echo public_path(); // Путь к «storage» папке echo storage_path(); // Путь к «storage/app» папке echo storage_path('app');
В следующей статье пройдемся по папочкам нашего проэкта.