Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [laravel] route $metoda $data
Forum PHP.pl > Forum > PHP > Frameworki
marcus753
Witajcie, nowy framework na tapecie, masę prostych błędów i na nowo odkrywanie świata, mam nadzieję że pomożecie wink.gif

na początek taki kod:

  1. Route::get('/text/{$metoda}/{$data}',array('as' => 'test','uses' => "mojKontroler@"));


1. W jaki sposób mogę wywołać w mojKontroler metodę $metoda i przekazać do niej dane $data questionmark.gif
2. Czy można jakoś zdefiniować domyślną metodę która będzie wywoływana w każdym kontrolerze ? tak abym nie musiał podawać metody po @ w routingu
3. Jaką funkcję pełni plik local w katalogu app/config ? dubluje de facto dane które wpisujemy w konkretnych plikach app.php, database.php itp.

Dziękuję za pomoc Lkingsmiley.png
SmokAnalog
Do tego służą tzw. "RESTful controllers" w Laravelu, zobacz: http://laravel.com/docs/controllers#restful-controllers

A co do pliku local w app/config, to ja nie mam takiego pliku smile.gif
marcus753
ok dzięki wielkie czyli mam odpowiedź na pytanie 2 wink.gif a co z pierwszym ?
SmokAnalog
To była raczej odpowiedź na pierwsze pytanie właśnie. W tym typie kontrolerów metoda getMyAnimals() zostanie wywołana dla końcówki /my-animals itd. Ostatni fragment URL jest rzutowany na nazwę metody automatycznie.

Czasem to może nie wystarczyć, jeśli mamy jeszcze inne dynamiczne fragmenty URL-a. Wtedy możesz wywoływać określoną metodę i w niej dopiero wywołać inną, na takiej zasadzie:

  1. Route::get('foo/{method}', 'MyController@zzz');


I w MyController:

  1. public function zzz($method) {
  2. $this->$method();
  3. }
marcus753
w takim razie czy możemy bezkarnie korzystać z Route::controller ? czy może powinniśmy wszędzie tam gdzie się da używać Route::get ? próbowałem zrobić podobną konstrukcję z użyciem get niestety tam już jest to niemożliwe.
SmokAnalog
Ja osobiście nie przepadam za Route::controller, ale czasem świetnie zdaje egzamin. Nie ma różnicy czy użyjesz Route::get czy Route::controller jeśli zamysł jest taki sam. Powiedz co dokładnie potrzebujesz, to coś wymyślimy. Route::get jest na tyle potężnym narzędziem, że na pewno wystarczy.
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.
Invision Power Board © 2001-2025 Invision Power Services, Inc.