Ich verwende Route:Controller
für ein Laravel 5.2-Projekt.Wie zu ändern oder zu aktualisieren Laravel der implizite Controller, um gewünschte URL zu erhalten?
Ich fand mich in einer interessanten Situation.
Meine Route Datei Angenommen, diesen Code hat
Route::controller('test','TestController');
TestController
hat Methoden folgende
class TestController extends Controller
{
public function getIndex(){
dd('index');
}
public function getDetails($id){
return $id.'/details';
}
public function getItem($var1,$var2){
return $var1.$var2.'/item';
}
}
so, wenn ich Route localhost:8000/test
es den Inhalt von getIndex()
Methode zeigt.
Jetzt möchte ich url für dieses Details Stück durchsuchen
localhost::8000/test/item1/details
localhost::8000/test/item2/details
localhost::8000/test/item3/details
....
localhost::8000/test/itemN/details
Ich weiß nicht, wie es zu tun, wenn meine Route-Controller wie dieses ist
Route::controller('test','TestController');
Da alle Artikel sind Variablen. Also mein gewünschtes Ergebnis zu erhalten änderte ich meine Route wie folgt aus:
Route::controller('test/{id}','TestController');
und jetzt kann ich diese URL zugreifen
localhost::8000/test/item3/details
Aber Problem ist jetzt, ich nicht in der Lage bin localhost::8000/test
zuzugreifen ich auch wollte auch auf folgende URL zugreifen
localhost::8000/test/item3/shop1/details
localhost::8000/test/item3/shop2/details
Also wie kann ich dieses Problem mito lösen ut mit route::resource
Tnx für Ihre Mühe, aber ich habe viele Methoden in TestController und implizite Controller hängt Test vor jeder URL. Wenn ich also einen Methodennamen getInformation in TestController habe, wird dieser URL-Test/diese Information erzeugt, und ich möchte nicht alle diese Routen manuell schreiben. – shuvrow
Also warum nicht so eine Route verwenden - localhost/test/detail/itemid/shopid? oder Sie bleiben bei Ihrer angegebenen URL? –
Für SEO Zweck :) – shuvrow