M.C. Juan Carlos Olivares Rojas
Code Igniter
“It’s an Open Source Web Application
Framework that helps you write incredible PHP programs”
Desarrollo de WebApps
• Estructura: HTML (HTML5, XHTML)
• Diseño: CSS
• Dinamismo Cliente: JavaScript
• Dinamismo Servidor: PHP*
• Datos: Base de Datos
Framework MVC
Flujo de Trabajo
Se necesita tener
previamente instalado:
Servidor Web con soporte para
PHP, SGBD
Se recomienda instalaciones LAMP como XAMPP
Instalación
Solo se copia la carpeta base que se descargo y está listo para usarse
Ejecución
• Se recomienda cambiar la línea:
• $config['base_url'] = "http://example.com/";
• Por la URL de nuestro sitio.
• Simplemente se accede a nuestra URL y ya tenemos montado un sitio de ejemplo.
Ejecución
Programación
• Se deben generar en primera instancia los controladores, las vistas y los modelos.
• Cada uno de ellos tienen sus propias carpetas específicas dentro de la carpeta application.
• Nótese que se cuenta con ejemplos de ellos
Controlador
• Derivan de la clase Controller (en la version 2.0 se usa CI_Controller)
• En ella se debe instanciar su constructor• Y definir el método index()
• Cada método deriva en una URL de acceso
Estructura URL
dominio.com/controlador/method/data
<?php class Search extends Controller {[...]function recuperar($id) {
$this->load->database(); [...]}
Vistas
• Las vistas están hechas de HTML.
• El controlador puede pasarle datos a través del arreglo $data[], donde cada entrada forma una variable de PHP.
• Generalmente el controlador recibe los datos del modelo
Acceso a la Vista
• Las vistas se acceden desde el controlador con:
$this->load->view('helloworld_view',$data);
$this->load->library(‘email);$this->load->database();
Modelo• El modelo representa la lógica de la
aplicación generalmente el acceso a los datos.
• Se deriva de la clase Model y sus métodos realizan procesos o manipulación de datos en nuestra base de datos.
Acceso a BD
• Para utilizar acceso a bases de datos se necesita configurar el archivo database.php dentro de la carpeta config.
• Se debe de cargar la biblioteca de BD en el archivo autoload.php dentro de la carpeta config con la siguiente línea:
• $autoload['libraries'] = array('database');
Acceso al Modelo
• Los modelos se acceden desde el controlador con:
$this->load->mode('helloworld_model'); $data['result'] = $this->helloworld_model-
>getData(); $data['page_title'] = "CI Hello World App!";
Otras configuraciones
• Se recomienda cambiar el controlador predeterminado para que acceda inmediatamente, esto se hace modificando la siguiente línea del archivo route.php dentro de la carpeta config:
• $route['default_controller'] = "Helloworld"
Funciones de BDfunction getData(){ $query = $this->db->get(’tabla'); if ($query->num_rows() > 0) { return $query->result(); } else{ echo 'Database is empty!'); } }}
Helpers
• Son funciones de utilidad que nos permiten ahorrar trabajo
• Se cargan de la siguiente forma• $this->load->helper(‘form’);
• Se invocan como funciones normales:• <?php form-helper() ?>
Cambio de index.php
• Para cambiar el molesto index.php al acceder a las URLs se necesitan configurar algunas cosas.
• En el archivo .htaccess (servidor apache) hay que agregar:
• RewriteEngine on• RewriteCond $1 !^(index\.php|images|
robots\.txt)RewriteRule ^(.*)$ ci/index.php/$1 [L]
Cambio index.php• En el archivo config.php de la carpeta config se
deberán cambiar:
• $config['index_page'] = "";• $config['rewrite_short_tags'] = TRUE;
•
¿Preguntas?
@jcolivares
/juancarlosolivaresrojas
http://antares.itmorelia.edu.mx/~jcolivares