• Время чтения ~1 мин
  • 09.07.2022

Laravel Ban — это пакет, который упрощает блокировку и запрет моделей Eloquent. Используя этот пакет, вы можете сделать модель «банируемой» за считанные минуты.

Вариант использования этого пакета выходит за рамки User модели; вы можете добавить концепцию запрета в любую модель Eloquent. К основным особенностям этого пакета можно отнести:

  • У модели может быть много запретов.
  • Удалены блокировки, хранящиеся в истории в виде обратимо удаленных записей.
  • Большая часть логики обрабатывается BanService.
  • Имеет промежуточное программное обеспечение для предотвращения запрещенного доступа пользователей к маршруту.
  • Вариант использования не ограничивается пользовательской моделью, любая модель Eloquent может быть запрещена.
  • События стрельбы по моделям банят и разбанивают.
  • Предназначен для работы с моделями Laravel Eloquent.
  • Имеет поддержку Laravel Nova.
  • Использование контрактов для сохранения широких возможностей настройки.
  • Использование черт для получения функциональности из коробки.

Пакет имеет хороший API, который упрощает запрет модели:

$user->ban();

$user->ban([
    'comment' => 'Enjoy your ban!',
]);
// A ban that has a ban expiry date
$user->ban([
    'expired_at' => '+1 month',
]);
// Remove a ban
$user->unban();

// Boolean checks
$user->isBanned();
$user->isNotBanned();
$ban->isTemporary();

Пакет также предоставляет приятные удобства, такие как промежуточное программное обеспечение, события, области и автоматическое применение областей к модели.

Вы можете узнать больше об этом пакете, получить полные инструкции по установке и просмотреть исходный код на GitHub.

Comments

No comments yet
Yurij Finiv

Yurij Finiv

Full stack

Про мене

Professional Fullstack Developer with extensive experience in website and desktop application development. Proficient in a wide range of tools and technologies, including Bootstrap, Tailwind, HTML5, CSS3, PUG, JavaScript, Alpine.js, jQuery, PHP, MODX, and Node.js. Skilled in website development using Symfony, MODX, and Laravel. Experience: Contributed to the development and translation of MODX3 i...

Об авторе CrazyBoy49z
WORK EXPERIENCE
Контакты
Ukraine, Lutsk
+380979856297