Laravel 9. Установка
Был у меня проект, где требовалось разработать сайт с несколькими поддоменами. Именно его я и взял как пример для этой статьи. Я не буду описывать полный цикл создания приложения - оно слишком большое. Остановлюсь лишь на наболее часто встречающихся моментах.
Установка фреймворка не должна вызывать затруднений. Воспользуемся composer`ом.
php composer create-project laravel/laravel laravel
Эта команда установит Laravel в папку laravel. Все дальнейшие команды выполняются из этой папки.
Далее, нам необходимы будут формы регистрации, входа и т.п. А также какие-нибудь CSS и JS фреймворки. Я предпочитаю Bootstrap и jQuery. Посему и формы будут "заточены" под них.
php composer require laravel/ui
На этом установка самого фреймворка закончена. Переходим к пакетам.
Так как структура мультидоменная, было решено использовать модули, чтобы скрипты из разных поддоменов не лежали всем скопом в одной директории. Тем более надо учитывать, что каждый поддомен может быть отдельным сайтом со своей базой, моделями, представлениями, настройками и т.п. Посему ставим пакет для организации модульной структуры.
php composer require nwidart/laravel-modules
Далее публикуем конфиги пакета
php artisan vendor:publish --provider="Nwidart\Modules\LaravelModulesServiceProvider"
По умолчанию классы модулей не загружаются автоматически, поэтому следующий шаг настройки - внести их в автозагрузчик. Открываем файл composer.json, находим секцию "autoload" и добавляем туда модули. После этого секция должна выглядеть примерно так:
...
"autoload": {
"psr-4": {
"App\\": "app/",
"Modules\\": "Modules/",
"Database\\Factories\\": "database/factories/",
"Database\\Seeders\\": "database/seeders/"
}
},
...
Чтобы изменения вступили в силу, выполняем команду
php composer dump-autoload
С модулями закончили. Все последующие пакеты, как говорится "на любителя", а точнее на Ваше усмотрение.
Виджеты. Незаменимый инструмент, позволяющий выводить на страницу какую-нибудь дополнительную информацию, не связанную с основным контентом.
php composer require arrilot/laravel-widgets
Таблицы данных. Очень мощный инструмент, включающий в себя, кроме самих таблиц, еще поиск, пагинацию и т.п. Инструмент действительно очень мощный и быстрый - работая с таблицей, в которой было более миллиона записей, особых тормозов не заметил.
php composer require yajra/laravel-datatables-oracle
В следующей статье рассмотрим настройку маршрутизации и модулей
Важлива інформація
України
втрати противника
орієнтовно склали: