Ich habe diese URLs:
So erhalten Sie den Controllernamen und den Aktionsnamen von diesen URLs. Ich bin CodeIgniter-Neuling. Gibt es eine Hilfsfunktion, um diese Informationen zu erhalten?
Ex:
$params = helper_function( current_url() )
Wo $params
wird so etwas
array (
'controller' => 'system/settings',
'action' => 'edit',
'...'=>'...'
)
php
codeigniter
codeigniter-2
noname.cs
quelle
quelle
Anstatt URI-Segmente zu verwenden, sollten Sie Folgendes tun:
Auf diese Weise wissen Sie, dass Sie immer die richtigen Werte verwenden, auch wenn Sie sich hinter einer gerouteten URL, in einer Subdomain usw. befinden.
quelle
modules::run('module/controller/action')
. Es werden nur die Router-Informationen der geladenen Seite angezeigt. Gibt es eine Möglichkeit, dies zu überwinden?$this->router
die Klasse zurückgegeben, in der der Code ausgeführt wird, aber nicht der tatsächliche Router, der mit der Überschreibung maskiert ist. Beide Antworten sind sehr nützlich, je nachdem, was Sie tun möchten.$this->router->class
und$this->router->method
stattdessenDie Methoden sind veraltet.
Sie können stattdessen auf die Eigenschaften zugreifen.
Siehe Codeigniter-Benutzerhandbuch
quelle
Ein anderer Weg
quelle
Als Ergänzung
quelle
fetch_module()
Aufruf funktioniert bei CI 2.1.2 nicht. Kann es nicht in der Datei /system/router.php finden.Aktualisieren
Die Antwort wurde im Jahr 2015 hinzugefügt und die folgenden Methoden sind jetzt veraltet
Hallo, Sie sollten den folgenden Ansatz verwenden
Zu diesem Zweck, aber um dies zu verwenden, müssen Sie Ihren Haken aus dem heraus verlängern
CI_Controller
und es funktioniert wie ein Zauber, Sie sollten keine Uri-Segmente verwendenquelle
Wenn Sie $ this-> uri-> segment verwenden und sich die Regeln zum Umschreiben von URLs ändern, geht die Übereinstimmung der Segmentnamen verloren.
quelle
Verwenden Sie diesen Code überall in Klassen oder Bibliotheken
quelle
Das letzte Segment der URL ist immer die Aktion. Bitte machen Sie so:
quelle
// fecth class die Klasse in Controller $ this-> router-> fetch_method ();
// Methode
quelle
Die Controller-Klasse funktioniert nicht mit Funktionen.
Daher empfehle ich Ihnen, die folgenden Skripte zu verwenden
quelle