mariio81
26.09.2015, 13:15:30
Witam,
czy jest jakiś sposób na przesyłanie parametrów do middleware w controlerze (chodzi o laravel 5.0) i czy middleware może być używane w metodach czy tylko w konstruktorze?
ctom
26.09.2015, 15:34:23
mariio81
26.09.2015, 16:44:49
To jest do 5.1 a ja szukam do 5.0 i widzę że według tego co tam jest napisane nie można przekazywac parametrów w wersji 5.0.
memory
26.09.2015, 17:26:19
To sobie zakutalizuj do 5.1 :] u mnie przeszło bezboleśnie
mariio81
26.09.2015, 17:47:52
Nie chodzi o aktualizacje tylko piszę coś co musi chodzić na php 5.4 a w dokumentacji jest że 5.1 potrzebuje php 5.5.9
Pyton_000
26.09.2015, 18:09:44
To może powiedz co chcesz zrobić.
Middleware możesz używać w routes, contruct i metodach (kontrolerów)
memory
26.09.2015, 18:10:09
Co cchesz dokładnie przekazać ?
mariio81
26.09.2015, 18:44:58
Chciałem coś takiego tam upchnąć żeby nie powielać kodu
if (!auth()->user()->can('edit-user')) {
return view('admin.contents.401');
}
gdzie 'edit-user' miało być przekazywane jako parametr bo będzie w każdym kontrolerze inne.
Pyton_000
26.09.2015, 19:10:07
Utwórz sobie klasę np. jakieś Service której będziesz miał metodę z kodem powyżej (z tym że zamiast return view zrób abort(401); i szablon w katalogu errors/401.balde.php
Do metody wrzucaj parametr z can()
mariio81
27.09.2015, 12:39:30
Myślałem nad klasą do tego i to będzie chyba najlepsze rozwiązanie a co w przypadku gdy bedzie np rola 'login' i ten kto jej nie bedzie posiadał powinien zobaczyć stronę logowania z informacją 'Brak dostępu!'. W kontrolerze w metodzie wygladało by to tak:
return view('admin.auth.login')->withErrors(['login' => 'Brak dostępu!']);
a tutaj jeśli nie można użyć return?
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę
kliknij tutaj.