Publicidad

Rutas dinámicas con CodeIgniter


Por Alex el 02/12/2019 , Comentar el artículo

Comparte este artículo:      




En CodeIgniter y con una query podemos extraer las rutas de forma dinámica desde la base de datos


Es bastante sencillo, hay que editar el fichero ../application/config/routes.php y añadir el siguiente codigo para hacer la consulta a la base de datos:

require_once( BASEPATH .'database/DB.php' );

$db =&DB();
$query = $db->query( 'select slug from routes order by slug asc' );
$result = $query->result();

foreach( $result as $row )
{
    $route[ $row->slug ]                 = 'InitController/seccion';
    $route[ $row->slug.'/(:any)' ]         = 'InitController/seccion';
}
Y así creáis las rutas. Después desde el controller según la rutas podemos hacer una cosas u otra

public function seccion()
	{
		//print( "
" . print_r( $this->uri, TRUE) . "
"); // print_r ( "Sección: " . $this->uri->segment(1)); echo "
"; if ( null !== $this->uri->segment(2)) { print_r ( $this->uri->segment(2)); echo "
"; } die; }
He dejado el código en el github

Y esto es todo, y feliz programming
Saludos
Alex.



Si te ha gustado el artículo compartelo en:      



También puede interesarte:

Instalar Codeigniter 4 y ponerlo en marcha

Instalar Codeigniter 4 y ponerlo en marcha

Por Alex, el 23/05/2022

Curso de creación de una API en PHP

Curso de creación de una API en PHP

Por Alex, el 20/04/2022

Rutas dinámicas en codeigniter 4

Rutas dinámicas en codeigniter 4

Por Alex, el 04/04/2022

Como crear rutas en php

Como crear rutas en php

Por Alex, el 21/03/2022

Clase para leer ficheros de configuración en PHP

Clase para leer ficheros de configuración en PHP

Por Alex, el 09/02/2022

Codeigniter 4 no registra bien las horas en los logs

Codeigniter 4 no registra bien las horas en los logs

Por Alex, el 03/02/2022


Añadir un comentarios:

Nombre:
Email: (no se publica el email)

avatar

Miguel Chuil 13/06/2020 06:25:44

En la versión 4 de CI, no existe la variable BASEPATH




SIGUENOS EN

ARCHIVO

Publicidad

.