ventajas usar tutorial español encuentra desventajas controlador configurar como base_url php codeigniter controller

php - usar - ¿Cómo obtener una matriz de todos los controladores en un proyecto de Codeigniter?



configurar base url codeigniter (1)

Bueno, para responder directamente a la pregunta de codificación, puedes hacer esto:

foreach(glob(APPPATH . ''controllers/*'' . EXT) as $controller) { $controller = basename($controller, EXT); $route[$controller] = $controller . ''/index''; $route[$controller . ''/(.+)''] = $controller . ''/$1''; }

Por supuesto, esto puede no ser el método más flexible más adelante.

Hay algunas otras formas de hacerlo. Una es crear un MY_Router e insertar

$this->set_class(''pages''); $this->set_method($segments[0]);

before / en lugar de show_404 ();

Eso enviará / contactará a / pages / contact, pero solo si no se asignan controladores, métodos o rutas primero.

OOOOOOORRRRRR usa la Separación Modular y agrega lo siguiente a tus rutas principales.php

$routes[''404''] = ''pages'';

Me gustaría obtener una lista de todos los controladores en un proyecto Codeiginiter para que pueda recorrer fácilmente cada uno de ellos y agregar rutas definidas. Parece que no puedo encontrar un método que me dé lo que busco.

Aquí está el fragmento de código del archivo routes.php donde me gustaría acceder a la matriz: -

// I''d like $controllers to be dynamically populated by a method // $controllers = array(''pages'', ''users''); // Loop through each controller and add controller/action routes // foreach ($controllers as $controller) { $route[$controller] = $controller . ''/index''; $route[$controller . ''/(.+)''] = $controller . ''/$1''; } // Any URL that doesn''t have a / in it should be tried as an action against // the pages controller // $route[''([^//]+)$''] = ''pages/$1'';

ACTUALIZACIÓN # 1

Para explicar un poco más lo que estoy tratando de lograr ... Tengo un controlador de páginas que contiene páginas como about, contact-us, privacidad, etc. Todas estas páginas deben ser accesibles a través de / about, / contact-us y / privacy . Entonces, básicamente, cualquier acción / método en el controlador de Pages debe ser accesible sin tener que especificar / pages / <action>.

¿No estoy seguro de si voy por esto de la manera correcta?