Repaso: tutorial para hacer una aplicación de prueba en CodeIgniter

  • Por
  • PHP
Realizamos una pequeña aplicación de prueba con CodeIgniter, que nos servirá de repaso al MVC y a todo lo que hemos visto hasta ahora en el manual.
Vamos a dar un primer repaso a lo todo lo que conocemos sobre CodeIgniter, que será suficiente para poder hacer una primera aplicación, sencilla, pero útil para ver en marcha todo lo que hemos ido aprendiendo en el Manual de CodeIgniter.

La idea es que podamos hacer nuestra primera aproximación al trabajo de desarrollo en este framework, basado en el Modelo - Vista - Controlador (MVC).

Haremos un ejemplo de aplicación que mostrará artículos de una base de datos. Lo cierto es que será mucho llamarlo aplicación, porque sólo es una pequeña parte de lo que podríamos necesitar en una aplicación completa, pero esperamos que el ejemplo sea suficientemente didáctico. No obstante, recordar que para entender todos los códigos tendrás que buscar las explicaciones de cada uno de los artículos que hemos visto en este manual de desarrollo web .com.

1.- Crear un controlador

Vamos a crear un controlador para empezar, con un código inicial básico.

<?php
class Articulos extends Controller {
   function index(){
      $this->load->view('home');
   }
}
?>

Simplemente hemos colocado una función index(), que es la que se llamará cuando se acceda a este controlador tal cual. Dentro de index estamos invocando una vista.

Este controlador lo tenemos que guardar en un archivo llamado articulos.php que meteremos en el directorio de los controladores: system/application/controllers.

2.- Creamos la vista "home"

Ahora vamos a crear la vista "home", que llamamos desde el anterior controlador, con un código como este:

<html>
<head>
<title>Portada de mi sitio</title>
</head>
<body>
<h1>Bienvenido a mi web</h1>
<p>Esta es la portada de página web, basada en la publicación de artículos interesantes.</p>
</body>
</html>

Guardamos esta vista como "home.php" en el directorio de las vistas: system/application/views.

3.- Configuramos este controlador como controlador por defecto

Ahora podríamos acceder a este controlador por medio de una URL como esta:

http://localhost/index.php/articulos

Deberíamos ver el contenido de nuestra vista, con la bienvenida al sitio. No obstante, yo quiero que este controlador sea el controlador por defecto, para que cuando accedamos a la raíz de la aplicación se muestre ese contenido de bienvenida. Para ello, voy a editar el archivo de configuración routes.php (application/config/routes.php).

Busco la variable de configuración "default_controller" para colocar el nombre de este controlador:

$route['default_controller'] = "Articulos";

Ahora podremos acceder a la URL raíz de CodeIgniter y ver el mismo mensaje de bienvenida, en una url como esta:

http://localhost/

En el siguiente artículo continuaremos con la creación de esta aplicación web de prueba en CodeIgniter. Veremos cómo crear nuestra base de datos y hacer la primera página que muestre los datos de la tabla de artículos.

Autor

Miguel Angel Alvarez

Miguel es fundador de DesarrolloWeb.com y la plataforma de formación online EscuelaIT. Comenzó en el mundo del desarrollo web en el año 1997, transformando su hobby en su trabajo.

Compartir

Comentarios

Distriker

20/3/2010
Bien...
De momento la cosa va bien, a ver si de aquí me sale algo grande :P

Saludos

NomikOS

24/5/2010
codificación de caracteres
Hola. Estoy siguiendo tu tutorial.

Que hay acerca de la codificación de caracteres? Estoy obteniendo:

Esta es la portada de ñá página web, basada en la publicación de artículos interesantes.

Podría arreglarlo fácilmente con:

header('Content-type: text/html; charset=UTF-8');

Pero esto debiera ser automático. Alguna idea?

Gracias.-
I.-.-

Sara

02/8/2010
No me funciona
Pues yo estoy intentando seguir el tutorial y no consigo hacerlo funcionar..
Cuando hago localhost, me muestra el arbol de directorios de la aplicacion...

Diego

06/1/2011
Respuesta a Sara
Hola Sara,

no soy nigun experto pero eso me paso un par de veces y debe ser porque tienes CI en una subcarpeta del servidor, si pones en la barra:

http://localhost/la_carpeta_donde_este_CI/deberia de funcionarte y si no aprovechate del arbol que dices que te sale y navega un poco por el hasta que encuentres donde deberias de ir y cambia la direccion en tu barra.

Creo que eso deberia ayudarte, aunque viendo que la consulta es de Agosto supogo que ya lo habras solucionado.

Gonzalo

08/4/2012
Problemas con el funcionamiento de CodeIgniter
Saludos,
estoy realizando los ejemplos del tuto pero no me corren me sale un error Fatal error: Class 'Controller' not found in E:ServWeb ootCodeIgniterapplicationcontrollersarticulos.php on line 2.

En el tuto me dice que la ruta de las carpetas tanto de controllers, como la carpeta views están en la dirección system/application/...., pero en mi caso se me instalo la carpeta application fuera de la carpeta system por ejemplo para el controllers mi ruta es CodeIgniterapplicationcontrollers.
Gracias por su pronta ayuda

rodrigo_casas_murillo

11/4/2012
Cambio de clase de Controller en versiones 2.0 o superiores
En el archivo Artículos, habría que cambiar

class Articulos extends Controller {...}

por

class Articulos extends CI_Controller{...}

para que funcione.

Un saludo y muchas gracias por el tutorial

Javier Ramon

02/5/2012
Para CodeIgniter 2.1.0 quedaria el controlador así
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
class Articulos extends CI_Controller {
public function index(){
//cargo la vista pasando los datos de configuacion
$this->load->view('home', $datos_vista);
}
}
/* End of file articulos.php */
/* Location: ./application/controllers/articulos.php */

Gonza

24/11/2014
Creacion del proyecto
Yo seguí estos pasos y me funcionó a la primera... codigogg.blogspot.com.ar/2014/11/crear-una-aplicacion-con-codeigniter.html

Cumarinero

03/1/2016
ayuda
hola companeros tengo muchas dudas, quiero comenzar en el mundo de codeignater. por donde empezar? como generar o construir mi ambiente de desarrollo y luego produccion.

saludos mi correo diegoflore@gmail.com