Это шаблон для самоуверенной сборки панели администратора Laravel 8.0 с темой AdminLTE 3.0, Alpinejs 2.0, Livewire 2.0, поддерживаемой тестами и дополнительными ветвями функций.
Вы можете проверить этот репозиторий. Я активно работаю над Laravel Castra. Та же идея, но другие инструменты (Hotwire Turbo).
Иногда пакеты слишком велики или слишком громоздки для использования. В других случаях пакет не имеет важной функции , которую вы ищете, и вы делаете несколько хаков, чтобы обойти ее.
Чего вам не хватает, так это контроля над кодом, и теперь он у вас есть! Не нравится, как добавляется новый пользователь. Без проблем. Вы можете изменить код по своему усмотрению. Больше не нужно разветвлять пакеты и возиться с их кодом. Идея состоит в том, чтобы создать ветки стандартных функций и сделать их доступными для других, чтобы они могли объединить их в свою главную ветку.
Вот список поддерживаемых ветвей функций. Объединив их с мастер-файлом, вы разблокируете новые функции.
После установки Laravel вам следует выполнить следующие команды:
git clone https://github.com/jcergolj/laravellte.git
composer install
cp .env.example .env
php artisan key:generate
npm install
npm run dev
composer cghooks update
php artisan migrate:fresh --seed
Давайте посмотрим правде в глаза. Иногда мы проявляем неряшливость и не очень заботимся о коде. Я добавил несколько полезных пакетов (не правда ли, ирония), чтобы снять с разработчика как можно больше нагрузки.
"php artisan insights --no-interaction --min-quality=90 --min-complexity=85 --min-architecture=90 --min-style=95"
Для действий CRUD вы можете рассмотреть возможность использования встроенной команды формирования файлов. Он генерирует файлы для действий «Индекс», «Создать», «Показать», «Редактировать» и «Удалить» следующим образом:
php artisan make:ltd-component bla --index --create --show --edit --delete
Вы можете опустить любой из вариантов. При желании вы можете обновить файлы- stubs
по своему усмотрению. В файлах шаблонов есть комментарии, которые служат напоминанием о необходимости внесения изменений в код. Вы можете найти его, набрав: index-review
, create-review
, show-review
, edit-review
, delete-review
. В эту команду не включены леса фабрики и модели.
Laravellte использует систему авторизации на основе ролей. Только пользователи с ролью администратора могут добавлять новые роли и назначать им разрешения.
Для новых ресурсов разрешения добавляются через PermissionsTableSeeder. По соглашению основными типами разрешений являются index , create , edit , show и delete с префиксом ресурса во множественном числе. Пример: пользователи.индекс . При этом вы можете добавить свои собственные. Однако вам придется просмотреть/изменить код.
В соответствии с соглашением имена маршрутов должны относиться к следующим типам: index , create , edit , show и delete . См. пример.
Для компонентов Livewire соглашение об их именовании следующее: вы должны использовать один из этих типов, за которым следует имя ресурса, а затем Component. например, IndexUserComponent Все компоненты Livewire должны использовать признак HasLivewireAuth. Вот реализация.
При добавлении разрешения для роли создается дополнительный файл Owner_restricted . Если поле с ограничением владельца имеет значение true для любой страницы индекса, пользователь с этим разрешением может видеть только свои собственные ресурсы. Однако, чтобы это работало, ресурс должен иметь файл Owner_id и глобальный файл VisibleTo , прикрепленный к методу загрузки.
Если поле с ограниченным доступом для владельца имеет значение true для типов показа , редактирования и удаления , пользователь может изменять только те ресурсы, которыми он владеет.
Для типов создания ограничения владельца игнорируются.
По сути, это ForRouteGate, который занимается авторизацией. Почетное упоминание достается промежуточному программному обеспечению авторизации.
Для роли администратора ограничения разрешений не применяются.
Лицензия MIT
Янез Церголь | Орасио Деджорджи | Крис Томпсон | Мадука Джаялат |