miércoles, 16 de abril de 2014
Controllers - Codeigniter - Framework
En el post anterior comentaba como hacer una configuración mínima de Codeigniter para comenzar a utilizarlo.
Hoy voy a explicar como programar con una estructura modelo - vista - controlador a través de este framework.
Para empezar voy a explicar que es un controlador, pues bien, un controlador es el archivo que contiene la lógica de nuestra aplicación web, es el archivo que se encarga de llamar a los archivos model, (que son los que contienen las consultas a la base de datos), tratar esos datos, y enviarlos a la vista para que salgan por pantalla.
Ejemplo de archivo controlador
<?php
class Blog extends CI_Controller {
public function index()
{
$datos['hello'] = "Hello world !";
$this->load->view('blogview', $datos);
}
?>
class Blog extends CI_Controller {
public function index()
{
$datos['hello'] = "Hello world !";
$this->load->view('blogview', $datos);
}
?>
Este ejemplo sencillo es un ejemplo claro de como se envían las variables del controlador a la vista para su visualización.
Este código lo guardaremos como blog.php.
La ubicación de los archivos controladores se han de poner en la carpeta: "application/controllers/".
CI_Controller es la clase es la clase del core de codeigniter que se usa para los archivos controladores, y así, heredar todas sus funciones.
La función index es la acción que tendremos que llamar desde el navegador para que realice el código que hemos añadido.
Todas las variables que se quieran enviar a la vista se tienen que pasar por un array, y ese array pasárselo a la vista para que haga el render de ese array en forma de variables individuales.
Si quisieramos pasarle mas variables lo haríamos de la siguiente manera:
$datos['otraVar'] = "Otra variable";
Ejemplo de archivo Vista
Los archivos vista, son los archivos que contienen el código html para visualizar el contenido por pantalla.
La ubicación de estos archivos es: "application/views/"
El siguiente código lo vamos a guardar como blogview.php, ya que es el nombre que le hemos puesto en el controlador.
<html>
<head>
<title>My Blog</title>
</head>
<body>
<?php echo $hello; ?>
<br>
<?php echo $otraVar; ?>
</body>
</html>
<head>
<title>My Blog</title>
</head>
<body>
<?php echo $hello; ?>
<br>
<?php echo $otraVar; ?>
</body>
</html>
Para poder comprobar su funcionamiento, la url que se ha de poner en el navegador sería:
http://localhost/proyecto/index.php/blog/index
Donde blog es el nombre del controlador y index es el nombre de la acción del controlador, aunque en este caso si no hubieramos puesto el index hubiera funcionado de la misma forma.
Enrutamientos
Codeigniter te permite configurar enrutamientos, según la forma de la url.
Este archivo se encuentra dentro de: "application/config/routes.php"
Por defecto si simplemente ponemos en nuestro navegador la siguiente url: http://localhost/proyecto
Nos reenviará al controlador welcome.php dentro de la carpeta controllers, que es el controlador por defecto.
Si substituimos "welcome" por "blog", nos reenviaría al controlador blog.php.
Este sería un ejemplo básico de enrutamiento, ya que codeigniter te permite parametrizar los enrutamientos con variables, como el siguiente ejemplo:
$route['blog/(:num)'] = "blog/index/$1";
Este ejemplo, en nuestro caso no tiene mucho sentido, pero lo que le estamos indicando es que ante cualquier numero que escribamos en nuestra url, como por ejemplo http://localhost/proyecto/index.php/blog/3
Nos reenviará al controlador blog, acción index, y pasandole un variable por parámetro.
En el siguiente post explicaré como poder recoger esa variable en el controlador para su uso.
Controllers II
Suscribirse a:
Enviar comentarios
(
Atom
)
Sígueme en las Redes Sociales
Donaciones
Datos personales
Entradas populares
-
En este apartado vamos a explicar como ejercutar archivos PHP a través del terminal de Ubuntu. Lo primero que tendríamos que hacer es inst...
-
En este blog voy a comentar un tema que se utilizan en casi todas las páginas web que existen, y es el tema de la paginación. La paginaci...
-
Este post trata de la integración de la librería PHPExcel en Codeigniter, aunque se podría aplicar a cualquier librería, como por ejemplo mP...
-
Ejemplo para añadir o sumar un número determinado de hora/s, minuto/s, segundo/s a una fecha en php. Con la función strtotime se puede ...
-
Este tema es uno de los temas primordiales sobre el framework Codeigniter, ya que en alguna ocación nos hemos visto obligados a recoger dato...
© Espacio Daycry - Espacio de programación 2013 . Powered by Bootstrap , Blogger templates and RWD Testing Tool
No hay comentarios :
Publicar un comentario