WEB -
Przełącz nawigację

Język

  • Українська
  • Русский
  • Polski

Wpisz co najmniej 3 znaki, aby wyszukać.

  • Українська
  • Русский
  • Polski

Szukaj

Wpisz co najmniej 3 znaki, aby wyszukać.

Książki
  • Książki
  • JavaScript
  • Bez kategorii
  • HTML i CSS
  • Projektowanie
  • WordPress
  • SEO
  • Python
  • Inne tematy
  • PHP
  • Laravel
  • Artykuły
  • Laravel
  • WordPress
  • © 2015-2026 Andrii Beznosko

  • Our partner

Rozszerzamy klasy Laravel metodą `orAbort` za pomocą traitu

  • Opis
  • Opis/Pobieranie

Zainspirowany artykułem Edd Man’s o opcjonalnych kontrolnych przepływach, stworzyłem mały pakiet do Laravel, który realizuje opcjonalne zatrzymanie aplikacji.

Udostępnia on trait SpatieOrAbortOrAbort, który może być używany z dowolną klasą. Do wszystkich metod klasy dodawana jest funkcjonalność orAbort. Gdy oryginalna metoda zwróci false, zostanie wywołana funkcja Laravel abort z kodem błędu 404.

Dlaczego chciałbyś używać tego traitu? Zwykle mogłeś robić coś takiego:

$article = $articleRepository->find($articleId) ?: abort(404)

 

Po użyciu traitu powyższy kod zamieni się w bardziej czytelny:

$article = $articleRepository->findOrAbort($articleId);

Możesz nawet dodać dodatkowy parametr z kodem zwracanym:

$article = $articleRepository->findOrAbort($articleId, 500);

 

Jeśli metoda find naszego repozytorium zwróci false, Laravel zatrzyma aplikację z kodem 500.

Trait orAbort wykorzystuje magiczną metodę __call. Nie stosuj go w klasach, które już używają tej metody.

Pakiet można znaleźć na GitHub.

Komentarze

Łącznie komentarzy: 0

Dodaj komentarz Anuluj odpowiedź

Twój adres e-mail nie zostanie opublikowany.

Kategoria: Главная » Статьи [PL] » Laravel » Rozszerzamy klasy Laravel metodą `orAbort` za pomocą traitu
Status: For advanced readers
Link do oryginalnego artykułu (jeśli podany lub artykuł nie jest nasz) Pobierz
Dodał kwi 17, 2026 00:23 Andriy

Artykuły opublikowane na WEB-Программист zawierają linki do źródeł. Administracja strony nie ponosi odpowiedzialności za wykorzystanie tych materiałów.

Zobacz też:

Tworzenie pakietów dla Laravel

Prosper Otemuyiwa niedawno opublikował artykuł o tym, jak tworzyć pakiety dla Laravel 5 na swoim blogu. Chociaż jego sposób jest w pełni poprawny i może ci odpowiadać, ja wolę nieco inny sposób tworzenia pakietów. Na początku tworzę nowe repozytorium na...

DDD Ultra-Light

Niektórzy ludzie mówią, że DDD jest trudne, kosztowne i powinno być stosowane z ostrożnością. Niektóre zespoły praktykują „DDD Life” — używają wzorców projektowania aplikacji opisanych przez Erica Evansa w dużej niebieskiej książce, ale ignorują idee, które uważa się za naprawdę...

Praca z polami nullable w Eloquent w Laravel

Wstęp Jeśli masz w Laravel kilka modeli z jednym polem nullable, tworzenie mutatora dla tego pola jest procesem dość trywialnym: public function setNicknameAttribute($nickname) { $this->attributes['nickname'] = trim($nickname) == '' ? null : trim($nickname); }   Tutaj sprawdzamy dane wejściowe, w...

Skontaktuj się z nami

- Motywy i wtyczki premium WP Star za darmo -

Wesprzyj autora

Ustawienia cookie

Używamy opcjonalnych plików cookie analitycznych, aby rozumieć, które materiały są przydatne. Możesz kontynuować bez analityki.

Możesz zmienić ten wybór w dowolnym momencie.