Cargando



CodeIgniter definir modelos, vistas y controladores

CodeIgniter es un framework PHP gran alcance que puede ayudar a acelerar en gran medida el desarrollo de aplicaciones web. Tiene un tamaño reducido y muy buen rendimiento debido al enfoque modular para cargar sus bibliotecas y hace un gran trabajo separar la lógica de la presentación mediante el uso de un Modelo-Vista-Controlador (MVC) dinámico.


mar 05 2014 21:55
mar 20 2014 18:30

mqdefault.jpg


CodeIgniter es un framework PHP gran alcance que puede ayudar a acelerar en gran medida el desarrollo de aplicaciones web. Tiene un tamaño reducido y muy buen rendimiento debido al enfoque modular para cargar sus bibliotecas y hace un gran trabajo separar la lógica de la presentación mediante el uso de un Modelo-Vista-Controlador (MVC) dinámico.

En este caso veremos como trabajar para el el codigo sea mas claro y ordenado, con un ejemplo sencillo:


Suponiendo la siguinte tabla empleados de una base de datos
CREATE TABLE IF NOT EXISTS `empleados` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`nombre` varchar(50) NOT NULL,
`sueldo` int(11) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=5 ;


El modelo

Cuando creamos el modelo de datos que seran las funcione que consultan datos en la base de datos

<?php
class Empleados_model extends CI_Model{

function __construct(){
$this->load->database();
}

function obtener_empleados(){
$query = $this->db->get('empleados');

return $query->result_array();
}
}
?>

En la función __construct cargamos la base de datos, así podemos acceder a ella usando $this->db para consulta datos, como hacemos en la función obtener_empleados. Para poder recuperar todos las entradas de la tabla empleados, ejecutamos la función get(), que recibe como parámetro la tabla de la que queremos obtener los registros, así que esta llamada se traduce en la consulta sql SELECT * FROM ‘empleados’. La función get() está disponible gracias a la clase Active Record de CodeIgniter.

Con esto tenemos nuestro modelo enlazado con la base de datos, lo siguiente será crear el controlador para que maneje estos datos, para ello creamos fichero empleados.php en controllers y definiremos la función listar_empleados.


function listar_empleados(){
   $this->load->model('empleados_model');
   //obtengo el listado y lo guardo en una matriz
$listadoEmpleados = $this->empleados_model->obtener_empleados();

//asigno la matris a una matriz data que se enviara a la vista
$data[‘empleado’] = $listadoEmpleados;

$this->load->view(listaempleados', $data);
}

Cargamos el modelo que hemos creado en la primera línea, usando la función load->model y especificando el nombre del modelo que necesitamos, a continuación llamamos a la función que habíamos creado y obtenemos una matriz con la información de la base de datos. Copiando la matriz obtenida, que será el que enviemos a la Vista en la mariz $data. A la vista solo enviamos una matriz con diferentes datos que luego mostraremos, por ejemplo:

$data[‘empleado’] = $listadoEmpleados;
$data[‘ttitulo_pagina’] = ‘Empleados’;


Finalmente, preparamos la vista para que muestre la información de manera ordenada:

<html>
<body>
<h1>
<? Echo $ titulo_pagina ?> </h1>
<table>
<tr>
<th>Nombre</th>
<th>Sueldo Anual</th>
</tr>
<?php foreach($empleados as $empleado): ?>
<tr>
<td> <?php echo $empleado['nombre']; ?></td>
<td> <?php echo $empleado['sueldo']; ?> </td>
</tr>
<?php endforeach; ?>
</table>
</body>
</html>

La forma de llamar a la pagina para verla será:
www.dominio.com/controlador/funcion

En este caso deberemos llamarlo de la siguiente manera:
www.midominio.com/empleados/listar_empleados

Por defecto Codeigniter utiliza la URL:
www.midominio.com/index.php/controlador/funcion

Para quitar el index.php de la url aplicamos el siguiente codigo en el archivo .htaccess
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule .* index.php/$0 [PT,L]
</IfModule>

¿Te ayudó este Tutorial?


Sin comentarios, sé el primero!

No esperes más y entra en Solvetic
Deja tus comentarios y aprovecha las ventajas de la cuenta de usuario ¡Únete!

X