Tengo estas URL:
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 se $params
convierte en algo como
array (
'controller' => 'system/settings',
'action' => 'edit',
'...'=>'...'
)
php
codeigniter
codeigniter-2
noname.cs
fuente
fuente
En lugar de usar segmentos URI, debe hacer esto:
De esa manera, sabe que siempre está utilizando los valores correctos, incluso si está detrás de una URL enrutada, en un subdominio, etc.
fuente
modules::run('module/controller/action')
. Solo muestra la información del enrutador de la página cargada. ¿Hay alguna manera de superar esto?$this->router
devuelve la clase en la que se ejecuta el código, pero no el enrutador real enmascarado con la anulación. Ambas respuestas son bastante útiles en función de lo que quieres hacer.$this->router->class
y en$this->router->method
cambioLos métodos están en desuso.
Puede acceder a las propiedades en su lugar.
Consulte la guía del usuario de codeigniter
fuente
De otra manera
fuente
Como una adición
fuente
fetch_module()
llamada no me funciona en CI 2.1.2. No puedo encontrarlo en el archivo /system/router.php.Actualizar
La respuesta se agregó en 2015 y los siguientes métodos están en desuso ahora
Hola, deberías usar el siguiente enfoque
para este propósito, pero para usar esto necesita extender su gancho desde el
CI_Controller
y funciona como un encanto, no debe usar segmentos urifuente
Si usa $ this-> uri-> segmento, si cambian las reglas de reescritura de URL, se perderá la coincidencia de nombres de segmentos.
fuente
Use este código en cualquier lugar de la clase o bibliotecas
fuente
El último segmento de URL siempre será la acción. Por favor, ponte así:
fuente
// fecth class la clase en el controlador $ this-> router-> fetch_method ();
// método
fuente
La clase de controlador no funciona ninguna función.
así que te recomiendo usar los siguientes scripts
fuente