Auf welchem Weg die URI mit Parametern an eine Methode in codeigniter?
Weiß ich nicht viel über die routing Konzept in codeigniter, möchte ich weitergeben viele Parameter, um eine einzelne Methode, wie in diesem http://www.codeigniter.com/userguide2/general/controllers.html tutorial-Seite.
In der url habe ich diese
http://localhost/code_igniter/products/display/2/3/4
In meinem routes.php ich habe geschrieben
$route['products/display/(:any)'] = 'Products_controller/display';
Was ich dachte, ist es übergeben wird, werden alle Parameter (hier 2/3/4) auf die Methode "anzeigen" automatisch, aber ich erhalte eine 404 Fehler Seite nicht gefunden.
Im Allgemeinen möchte ich etwas erreichen möchten, wenn der URI controller/method
ich möchte die route zu someother_controller/its_method
und übergeben Sie die Parameter, wenn eine Methode. Wie kann ich es tun?
codeigniter 3.0 möchte ich weitergeben dieser Parameter zur Anzeige Methode können Sie bitte helfen Sie mir!
Haben Sie Sie sicher, dass die controller-Datei-name Products_controller.php und auf Strecken versuchen mit Kleinbuchstaben $route['products/Anzeige/(:any)'] = 'products_controller/display/$1';
Sie ist vielleicht das beste, zu schauen, codeigniter 3 uri-routing codeigniter.com/user_guide/general/routing.html
Dank wolfgang1983 , als Sie sagte: ich habe den Namen der Datei "Products_controller" und verwendet die Kleinschreibung in routes.php auch die Antwort von Suvash fein gearbeitet ! aber Wenn ich vermisse jemand von den Parametern bin ich wieder, immer 404 nicht gefunden.wie kann ich schreiben-route-Regel, die passieren können, alle Parameter selbst wenn ich eine verpassen? in diesem Fall möchte ich weitergeben, einen default-Wert sagen, 0 zu diesem parameter. wie kann ich es tun?
InformationsquelleAutor Velu N | 2015-07-29
Du musst angemeldet sein, um einen Kommentar abzugeben.
In CI 3.x (:any) parameter entspricht nur einer einzigen URI-segment. So zum Beispiel:
passen genau zwei Segmente und pass Sie entsprechend. Wenn Sie möchten, zu entsprechen 1 oder 2, können Sie dies tun (in dieser Reihenfolge):
Können Sie mehrere Segmente mit der (.+) parameter wie diese:
In diesem Fall die $1 enthält alles Vergangenheit-Methode./. Im Allgemeinen denke ich, dass Ihr abgeraten, diese zu verwenden, da man wissen sollte, was weitergegeben wird und entsprechend behandeln, aber es gibt Zeiten (.+) kommt in handliches. Zum Beispiel, wenn Sie nicht wissen, wie viele Parameter übergeben werden, dies wird Ihnen ermöglichen, erfassen Sie alle von Ihnen. Denken Sie auch daran, Sie können default-Parameter in den Methoden wie diese:
So, dass wenn nichts übergeben wird, haben Sie noch immer einen gültigen Wert.
Können Sie auch weitergeben, um Ihre index-Methode wie diese:
Natürlich sind dies nur Beispiele. Sie können auch Ordner enthalten, und komplexere routing-aber das sollte Ihnen den Einstieg.
Du bist herzlich willkommen. Ja, die Reihenfolge ist wichtig. Von der CI-docs, "Routen werden in der Reihenfolge ausgeführt, die Sie definiert sind. Höhere Routen haben stets Vorrang vor unteren."
InformationsquelleAutor greco.roamin
Auf codeigniter 3
Stellen Sie sicher, dass Ihr controller hat die ersten Buchstaben in Großbuchstaben, die auf Dateinamen und Klassennamen
Auf Strecken
Docs Für Codeigniter 3 und 2
http://www.codeigniter.com/docs
InformationsquelleAutor Mr. ED
Pflegen Sie Ihre routing-Regeln wie diese
Überprüfen Sie bitte diesen link Codeigniter-URI-Routing
stackoverflow.com/questions/14183231/...
Dann können Sie reguläre Ausdrücke verwenden, um zu definieren, Ihre routing-Regeln. Überprüfen Sie bitte diesen link codeigniter.com/userguide3/general/routing.html
Dank Suvash! Ich lese diesen link! es funktioniert !
InformationsquelleAutor Suvash sarker