CodeControladores de Igniter, enrutamiento de vistas: aprenda con ejemplos
โก Resumen inteligente
Este CodeEl ejemplo de Igniter crea una pequeรฑa aplicaciรณn para mostrar cรณmo funcionan juntos el enrutamiento, los controladores y las vistas. Se crea un nuevo proyecto con Composer y se define el mapa de rutas. URLs a mรฉtodos del controlador, y cada mรฉtodo carga una vista que devuelve HTML al navegador.

En este tutorial, aprenderรกs los siguientes temas:
- enrutamiento โ el enrutamiento es responsable de responder a URL solicitudes. El enrutamiento coincide con el URL a las rutas predefinidas. Si no se encuentra ninguna coincidencia de ruta, CodeIgniter genera una excepciรณn de pรกgina no encontrada.
- Control โ Las rutas estรกn vinculadas a los controladores. Los controladores unen los modelos y las vistas. Solicitan datos y lรณgica de negocio al modelo y devuelven los resultados en la presentaciรณn de la vista. Una vez que URL Una vez que se ha asociado una ruta, se envรญa a una funciรณn pรบblica del controlador. Esta funciรณn interactรบa con la fuente de datos y la lรณgica de negocio, y devuelve la vista que muestra los resultados.
- Vistas โ las vistas son responsables de la presentaciรณn. Una vista suele ser una combinaciรณn de HTML, CSS y JavaScript. Esta parte se encarga de mostrar la pรกgina web al usuario. Normalmente, los datos que se muestran se obtienen de la base de datos o de otra fuente de datos disponible.
Cรณmo crear un nuevo CodeProyecto Igniter
Usaremos Composer para crear un nuevo proyecto. Usaremos el servidor integrado de PHP, por lo que no es necesario tener software adicional como APACHEEn este tutorial, utilizamos el Windows sistema operativo, por lo que hemos creado una carpeta Sites en la unidad C. Puede usar cualquier directorio que le resulte conveniente.
Abre la lรญnea de comandos o la terminal y ejecuta el siguiente comando:
cd C:\Sites
Ahora crearemos un CodeProyecto Igniter usando Composer. Ejecute el siguiente comando:
composer create-project CodeIgniter/framework ci-app
Aquรญ:
- El comando anterior crea un nuevo CodeProyecto Igniter versiรณn 3, utilizando la รบltima versiรณn estable (3.1.9 en el momento de escribir esto), en un directorio llamado ci-app.
Cuando el comando haya terminado de ejecutarse, deberรญa ver resultados similares a los siguientes en la terminal:
Ejecute el siguiente comando para navegar al directorio del proyecto reciรฉn creado ci-app:
cd ci-app
Ahora inicia el servidor web integrado de PHP:
php -S localhost:3000
Aquรญ:
- El comando anterior inicia el servidor PHP integrado que se ejecuta en el puerto 3000.
Abra el navegador web y navegue a lo siguiente URL: http://localhost:3000/Obtendrรกs la siguiente pรกgina:
Si puede ver la pรกgina de arriba, enhorabuena, ha instalado correctamente. CodeEncendedorLa pรกgina se genera mediante la vista ubicada en application/views/welcome_message.php, y el controlador responsable se encuentra en application/controllers/Welcome.php.
CodeEnrutamiento del encendedor
Por ahora, nuestra aplicaciรณn solo tiene una URL, que es la pรกgina de inicio. En esta secciรณn, personalizaremos la secciรณn de inicio y crearemos algunas nuevas URLque responden a diferentes solicitudes.
Comencemos con la ruta de la pรกgina de inicio. Abra el archivo de rutas en la siguiente ruta:
application/config/routes.php
Deberรญa ver el siguiente contenido:
$route['default_controller'] = 'welcome'; $route['404_override'] = ''; $route['translate_uri_dashes'] = FALSE;
Aquรญ:
- $route['default_controller'] = 'welcome'; define el controlador predeterminado que responde a las solicitudes URI.
- $route['404_override'] = โ; permite definir una ruta personalizada para errores 404. Un error 404 ocurre cuando no se encuentra una pรกgina. CodeIgniter tiene un manejador de errores predeterminado, pero puedes definir el tuyo propio si lo deseas.
- $route['translate_uri_dashes'] = FALSE; permite traducir guiones a guiones bajos. Analizaremos esta opciรณn cuando veamos cรณmo funcionan las rutas en CodeEncendedor.
Veamos ahora el mรฉtodo del controlador responsable de mostrar la pรกgina de inicio que vimos cuando abrimos http://localhost:3000/Abra el siguiente archivo:
application/controllers/Welcome.php
Deberรญas ver el siguiente cรณdigo:
<?php defined('BASEPATH') OR exit('No direct script access allowed'); class Welcome extends CI_Controller { public function index() { $this->load->view('welcome_message'); } }
Aquรญ:
- defined('BASEPATH') OR exit('No direct script access allowed'); protege contra el acceso directo a la clase del controlador sin pasar por el archivo index.php. En el paradigma MVC, todas las solicitudes tienen un รบnico punto de entrada, que para CodeIgniter es index.php. Este cรณdigo bloquea todas las solicitudes que no provengan de index.php.
- La clase Welcome extiende CI_Controller {โฆ} define una clase Welcome que extiende la clase padre CI_Controller.
- La funciรณn pรบblica index() define una funciรณn pรบblica que se llama por defecto cuando se abre la pรกgina de inicio.
- $this->load->view('welcome_message'); carga la vista welcome_message, ubicada en application/views/welcome_message.php.
Hasta ahora solo hemos explorado lo que viene de fรกbrica con CodeIgniter. Ahora vamos a hacer algunos cambios. Crearemos nuestra propia pรกgina de inicio y reemplazaremos la pรกgina predeterminada. Crea un nuevo archivo en application/views/home.php y agrega el siguiente cรณdigo:
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1"> <title>Hello CodeIgniter!</title> <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/bulma/0.7.2/css/bulma.min.css"> <script defer src="https://use.fontawesome.com/releases/v5.3.1/js/all.js"></script> </head> <body> <section class="section"> <div class="container"> <h1 class="title"> CodeIgniter Hello World </h1> </div> </section> </body> </html>
Aquรญ: El cรณdigo HTML anterior carga el framework CSS Bulma y Font Awesome desde una CDN y crea un documento HTML muy bรกsico. Aplica una regla CSS sencilla del framework Bulma.
Abra lo siguiente URL en tu navegador: http://localhost:3000/Deberรญas ver lo siguiente:
ยกGenial! Hemos modificado la pรกgina de inicio correctamente. Ahora, definamos nuestra ruta. Supongamos que nuestra aplicaciรณn tambiรฉn necesita mostrar una pรกgina "Acerca de nosotros".
Crear una ruta
Abra el archivo de rutas application/config/routes.php y agregue la siguiente ruta:
$route['about-us'] = 'welcome/about_us';
Aquรญ:
- Cuando un visitante visita el URL /sobre nosotros, nosotros le damos instrucciones CodeIgniter buscarรก un controlador Welcome y ejecutarรก el mรฉtodo about_us.
Crear un controlador
Ahora vamos a definir el mรฉtodo del controlador about_us. Abra application/controllers/Welcome.php y aรฑada el siguiente mรฉtodo:
public function about_us(){
$this->load->view('about_us');
}
Aquรญ:
- El cรณdigo anterior define una funciรณn llamada about_us y carga una vista llamada about_us.
Crear una vista
Ahora vamos a crear la vista a la que acabamos de hacer referencia. Crea un nuevo archivo llamado about_us.php en application/views/about_us.php y aรฑade el siguiente cรณdigo:
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1"> <title>About CodeIgniter!</title> <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/bulma/0.7.2/css/bulma.min.css"> <script defer src="https://use.fontawesome.com/releases/v5.3.1/js/all.js"></script> </head> <body> <section class="section"> <div class="container"> <h1 class="title"> About us yap... </h1> </div> </section> </body> </html>
Estamos listos. Abra lo siguiente URL en su navegador web: http://localhost:3000/index.php/about-usVerรกs la siguiente pรกgina:
Si puede ver la pรกgina anterior, enhorabuena, ha creado con รฉxito una aplicaciรณn sencilla en CodeEncendedor.




