CodeIgniter 2.2: Instalación y configuración básica

Version 2.2.0

CodeIgniter es un Framework PHP para el Desarrollo de Aplicaciones Web. Como cualquier framework permite desarrollar proyectos mucho más rápido, proporcionando una gran variedad de librerías para las tareas más corrientes, gestión de sesiones, lenguajes, seguridad, rutas amigables, acceso a Base de Datos y posee una estructura robusta para acceder para acceder a estas librerías.

Instalación


1. Descargamos la última versión de CodeIgniter (http://ellislab.com/codeigniter)
2. Descomprimimos el archivo .rar
3. Borramos los siguientes archivos:
a. Carpeta user_guide
b. .travis.yml
c. .gitignore
d. license

Despliegue en WAMP

WAMP es un conjunoto de herramientas, Que tiene Apahce
Se renombra la carpeta, según el nombre de nuestro proyecto y se agrega en la carpeta www de WAMP.

Configuración general


La configuración de CodeIgniter se realiza a través de un archivo llamado config.php que se encuentra en la carpeta application/config

En este archivos definimos la configuración del Sitio

1. Base URL

La ruta Base es el dominio donde estará alojada la Aplicación Web, es desde esta ruta raíz donde se ubicaran los recursos (imágenes, archivos, scripts, etc) a cargar.

$config['base_url'] = "http://localhost/miProyecto/";

Siempre acostumbro dejar la ruta base con el / al final, para cuando se requieran llamar recursos, no agregarla siempre, por ejemplo:

<script src="<?=base_url()?>extra/js/jquery-1.7.2.min.js"></script> 

La carpeta extra/js/

2. Index File

Por defecto el archivo index en CodeIgniter es el que determina las demás páginas a cargar, por ello antes de cargar una página, en la URL se agrega el prefijo index.php? seguido del archivo a cargar.

Dado que estas rutas no son nada amigables, debemos configurar un archivo .htaccess que permita acceder a las páginas sin agregar este prefijo y tambien debemos quitar el index.php de la configuración y dejarlo en blanco

$config['index_page'] = '';

El archivo .htaccess debe ir en la carpeta raíz y su contenido debe ser:

RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond $1 !^/(index\.php|assets/|humans\.txt)
RewriteRule ^(.*)$ index.php?/$1 [L]

Seguridad en el .htacces
Un aspecto importante es que si un usuario accede a través de la URL a un directorio, no se liste los archivos que están allí, para ello agregamos la linea:

Options -Indexes

3. Encryption Key


También debemos configurar:
$config['encryption_key'] = '';

Esto es porque si importamos la librería Session, debemos configurar una Key de seguridad, si no lo hacemos aparecerá el siguiente mensaje: "In order to use the Session class you are required to set an encryption key in your config file."

Probando la configuración


Ahora simplemente accedemos desde un navegador Web al proyecto
http://localhost/miProyecto

Autocarga de Librerias


Algunas librerías ya sean las propias de CodeIgniter o las que nosotros creemos, se utilizan frecuentemente y podemos cargarlas siempre a través del Autoload.

Estas se configurarn en el archivo application/config/autoload.php. Por ejemplo, para no tener que importar el database siempre o las librerias de Sesion, podemos hacer un Autoload de estas:

$autoload['libraries'] = array('database', 'session', 'form_validation');


Necesitamos los helpers de URL para poder acceder a la ruta base base_url() y de File por si requerimos utilizar subida de archivos.

$autoload['helper'] = array('url', 'file');

Rutas

El primer paso es cambiar el tipo mensaje de Bienvenida, por nuestra propia vista. Para ello nos dirigimos a config/routes.php

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

Cambiamos welcome, por el Controlador que vamos a crear

Creamos un controlador en la Carpeta controllers

<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');

class Dashboard extends CI_Controller {
 
public function index()
{
$this->load->view('dashboard');
}
}

Y hacemos una vista dentro de la carpeta Views. con el nombre adecuado, la cual será cargada con load->view


Anderson Rubio

Phasellus facilisis convallis metus, ut imperdiet augue auctor nec. Duis at velit id augue lobortis porta. Sed varius, enim accumsan aliquam tincidunt, tortor urna vulputate quam, eget finibus urna est in augue.