remove index htaccess eliminar base_url codeigniter codeigniter-2

index - redirect codeigniter



Cómo obtener información de Controlador, Acción, URL con CodeIgniter (10)

Tengo estas urls:

Cómo obtener el nombre del controlador, el nombre de la acción de estas URL. Soy codeigniter novato. ¿Hay alguna función auxiliar para obtener esta información

Ex:

$params = helper_function( current_url() )

Donde $params convierte en algo así

array ( ''controller'' => ''system/settings'', ''action'' => ''edit'', ''...''=>''...'' )


Como una adición

$this -> router -> fetch_module(); //Module Name if you are using HMVC Component


De otra manera

$this->router->class


En lugar de usar segmentos URI, debe hacer esto:

$this->router->fetch_class(); // class = controller $this->router->fetch_method();

De esta forma, sabrá que siempre usa los valores correctos, incluso si está detrás de una URL enrutada, en un subdominio, etc.


Hola, deberías usar el siguiente enfoque

$this->router->fetch_class(); // class = controller $this->router->fetch_method(); // action

para este propósito, pero para usarlo necesita extender su gancho desde el CI_Controller y funciona como un amuleto, no debe usar segmentos uri


Los métodos están en desuso.

$this->router->fetch_class(); $this->router->fetch_method();

Puede acceder a las propiedades en su lugar.

$this->router->class; $this->router->method;

Ver la guía del usuario codeigniter

Métodos de enrutamiento URI fetch_directory (), fetch_class (), fetch_method ()

Con las propiedades CI_Router::$directory , CI_Router::$class y CI_Router::$method son públicas y sus respectivos fetch_*() ya no hacen nada más para simplemente devolver las propiedades - no tiene sentido guardarlas.

Esos son todos métodos internos no documentados, pero hemos optado por desaprobarlos por el momento para mantener la compatibilidad con versiones anteriores por si acaso. Si alguno de ustedes los ha utilizado, ahora puede acceder a las propiedades:

$this->router->directory; $this->router->class; $this->router->method;


Podría usar la clase URI :

$this->uri->segment(n); // n=1 for controller, n=2 for method, etc

También me dijeron que el siguiente trabajo, pero actualmente no puedo probar:

$this->router->fetch_class(); $this->router->fetch_method();


Si usa el segmento $ this-> uri->, si las reglas de reescritura de URL cambian, se perderán los nombres de los segmentos.


clase de controlador no funciona ninguna función.

así que te recomiendo usar los siguientes scripts

global $argv; if(is_array($argv)){ $action = $argv[1]; $method = $argv[2]; }else{ $request_uri = $_SERVER[''REQUEST_URI'']; $pattern = "/.*?//index/.php//(.*?)//(.*?)$/"; preg_match($pattern, $request_uri, $params); $action = $params[1]; $method = $params[2]; }


Utilice este código en cualquier lugar de la clase o bibliotecas

$current_url =& get_instance(); // get a reference to CodeIgniter $current_url->router->fetch_class(); // for Class name or controller $current_url->router->fetch_method(); // for method name


$this->router->fetch_class();

// fecth class la clase en el controlador $ this-> router-> fetch_method ();

// método