• Czas czytania ~1 min
  • 09.07.2022

Laravel Ban to pakiet, który upraszcza blokowanie i banowanie modeli Eloquent. Korzystając z tego pakietu, możesz uczynić model "bannable" w ciągu kilku minut.

Przypadek użycia tego pakietu wykracza poza User model; możesz dodać koncepcję bana do dowolnego modelu Eloquent. Główne cechy tego pakietu to:

  • Model może mieć wiele zakazów.
  • Usunięte zakazy zachowane w historii jako miękkie usunięte rekordy.
  • Większość części logiki jest obsługiwana przez BanService.
  • Posiada oprogramowanie pośredniczące, aby zapobiec dostępowi do trasy zablokowanego użytkownika.
  • Przypadek użycia nie ogranicza się do modelu użytkownika, każdy model Eloquent może zostać zbanowany.
  • Wydarzenia strzelające na modelach ban i unban.
  • Zaprojektowany do pracy z modelami Laravel Eloquent.
  • Posiada Laravel Nova support.
  • Korzystanie z umów w celu zachowania wysokich możliwości dostosowywania.
  • Używanie cech w celu uzyskania funkcjonalności po wyjęciu z pudełka.

Pakiet ma ładne API, które ułatwia banowanie modelu:

$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();

pakiet zapewnia również miłe udogodnienia, takie jak oprogramowanie pośredniczące, zdarzenia, zakresy i automatyczne stosowanie zakresów do modelu.

Możesz dowiedzieć się więcej o tym pakiecie, uzyskać pełne instrukcje instalacji i wyświetlić kod źródłowy w witrynie GitHub.You can learn more about this package, get full installation instructions, and view the source code on GitHub.

Comments

No comments yet
Yurij Finiv

Yurij Finiv

Full stack

O

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...

O autorze CrazyBoy49z
WORK EXPERIENCE
Kontakt
Ukraine, Lutsk
+380979856297