Laravel + routes

Laravel + routes
RD
  • Rejestracja:prawie 6 lat
  • Ostatnio:6 miesięcy
  • Postów:46
0

Witajcie,
czy lub jak idzie zrobić przekierowanie typu

Kopiuj
domena.pl/?serviceId=xx&orderid=xx

na konkretną stronę jeśli występuje coś takiego?
Szukam, szukam i nie mogę nigdzie zaleźć.

mr_jaro
  • Rejestracja:prawie 14 lat
  • Ostatnio:ponad 3 lata
  • Lokalizacja:Grudziądz/Bydgoszcz
  • Postów:5300
0

Nie rozumiem pytania, wytłumacz dokładnie co chcesz osiągnąć. Nie potrafisz odczytać parametrów?


It's All About the Game.
edytowany 1x, ostatnio: mr_jaro
RD
  • Rejestracja:prawie 6 lat
  • Ostatnio:6 miesięcy
  • Postów:46
0
mr_jaro napisał(a):

Nie rozumiem pytania, wytłumacz dokładnie co chcesz osiągnąć. Nie potrafisz odczytać parametrów?

Chciałem wyważyć otwarte drzwi :D
Parametry umiem odczytać.
Bardziej zależało mi na tym, że jak będzie konstrukcja

Kopiuj
 /?costam=costam

to wtedy przekieruje na inną stronę (za pomocą Route::get()).
Dzięki mr_jaro za nakierowanie :)

Przem4S
  • Rejestracja:prawie 7 lat
  • Ostatnio:ponad 5 lat
  • Lokalizacja:Tychy
  • Postów:4
0

Najprościej:
Plik: /routes/web.php

Kopiuj
use Illuminate\Support\Facades\Input;

if(Input::get('serviceId') && Input::get('orderId')) {
    Route::get(); // Gdy są podane parametry
} else {
    Route::get(); // Gdy ich nie ma
}
edytowany 2x, ostatnio: Przem4S
mr_jaro
  • Rejestracja:prawie 14 lat
  • Ostatnio:ponad 3 lata
  • Lokalizacja:Grudziądz/Bydgoszcz
  • Postów:5300
1
Przem4S napisał(a):

Najprościej:
Plik: /routes/web.php

Kopiuj
if(isset($_GET['serviceId']) && isset($_GET['orderId'])) {
    Route::get(); // Gdy są podane parametry
} else {
    Route::get(); // Gdy ich nie ma
}

Boże widzisz i nie grzmisz, czemu w laravelu używasz $_GET? Wybaczę jeśli nic z laravelem nie miałeś wspólnego, natomiast jeśli masz, to nigdy bym cie nie zatrudnił.


It's All About the Game.
Zobacz pozostałe 3 komentarze
mr_jaro
@Przem4S: nadal do bani, w routingu nie powinno być żadnych ifów, żadnej logiki
Przem4S
@mr_jaro Rozumiem, a więc gdzie Twoim zdaniem takie przekierowanie powinno się znaleźć na przykładzie Laravela?
mr_jaro
@Przem4S jeśli ma się tyczyć konkretnego urla to co najmniej w kontrolerze, jeśli ma być ogólne to w middlewarze
Przem4S
@mr_jaro: faktycznie middleware byłby najodpowiedniejszy bazując na informacji autora ze chciał odnosić się do domeny z parametrami (get'owymi) a więc bez konkretnego kontrolera, a ja również dzięki za podpowiedź
TR
  • Rejestracja:ponad 7 lat
  • Ostatnio:4 dni
  • Lokalizacja:700m n.p.m.
  • Postów:677
0
  1. Możesz użyć po prostu redirecta
  2. Możesz po rozpoznaniu i walidacji parametrów GET, po prostu uruchomić konkretny kontroler, taki, który byłby uruchomiony przy wejściu na "konkretną stronę" - czyli okreslony URL.

DRY > SOLID (nie bierz tego zbyt poważnie)
edytowany 1x, ostatnio: TomRZ
mr_jaro
pkt 2 złe podejście w laravelu
TR
nie pracuję w Laravelu, ale gdyby to zrobić przy pomocy mechanizmu routera, to powinno być ok?
mr_jaro
rozmowa w komentarzach do postu wyżej, wykonanie redirecta w middlewarze jeśli ma to działać globalnie, niezależnie od urla.

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.