Instalación, configuración y primeros pasos con CodeIgniter 3

25-05-2013 - Andrés Cruz

Instalación, configuración y primeros pasos con CodeIgniter 3

Este material forma parte de mi curso y libro completo; puedes adquirirlos desde el apartado de libros y/o cursos.

En esta primera entrada veremos como instalar y configurar CodeIgniter en nuestro servidor (Linux/Windows o incluso Mac -los pasos no varían-) y dar los primeros pasos con el mismo.

¿Porqué seleccionar CodeIgniter?

Antes que nada hablaremos sobre algunas de las características y ventajas que ofrecen este maravilloso framework PHP; para lo que no sepan que es un framework un framework no es más que un esqueleto que nos ofrece o brinda muchas herramientas pre hechas o preconfiguradas para desarrollar aplicaciones, así elementos como el manejo de correos, captchas, login, sesión, etc ya existen y están instaladas (o son muy fáciles de instalar empleando librerías de terceros o del propio framework) y podemos emplearlas fácilmente sin conflictos entre sí; pero esto va mucho más allá.

Patrones a los cuales seguir

Un framework nos ofrece un esqueleto o patrón por el cual seguir que nos ayuda enormemente al momento de desarrollar aplicaciones, en el caso de CodeIgniter el patrón que emplea es MVC (modelo, vista y controlador) y dicho framework está estructurado por tal fin en base al MVC; por lo tanto podemos separar la capa de negocio, de la estructura de datos y la vista de presentación.

CodeIgniter, la mejor selección para proyectos de pequeña envergadura

CodeIgniter es un framework excelente de emplear para proyectos de pequeña o mediana envergadura, su lógica y desarrollo es muy simple, por lo tanto es ideal para programadores novatos ya que su curva de aprendizaje es muy baja.

CodeIgniter es un framework, rápido, fácil de instalar, configurar y de empezar a desarrollar, con una buena documentación oficial y mucho material en otros foros, tutoriales en Internet; puedes consultar los tutoriales en nuestro blog en:

CodeIgniter

Requisitos de servidor

Como bien sabrás es necesario tener un servidor web con Apache y PHP para emplear el framework por hecho de que ya se tiene instalado y configurado todo el ambiente necesario: servidor web y base de datos (LAMP, WAMP, XAMPP, etc); CodeIgniter 3.19 necesita tener PHP en su versión 5.6 o superior; ahora veamos la tabla de contenido del resto de la entrada:

1. Descargando CodeIgniter del site oficial

Lo primero que debemos hacer antes de instalar CodeIgniter que actualmente es la versión 3.1.9 o superior, es hacernos con una copia del mismo, en otras palabras descargar la última versión en el site oficial de CodeIgniter y clic en el enlace que dice "download" o clic en el siguiente enlace.

Si vas a comenzar lo recomendable es emplear la versión 3 en vez de la dos, ya que la versión está meramente por darle mantenimientos mínimos y en un futuro cercano dejaran de dar mantenimiento a la misma y la tres sería la única disponible.

2. Instalando CodeIgniter en cuatro sencillos pasos

Paso 1 - descomprimir: Luego de que te hicieras con tu copia de CodeIgniter; lo siguiente que debes hacer es descomprimir el paquete.

Paso 2 - subir al servidor: Luego subimos/cargamos o copiamos la carpeta resultante de la descompresión al servidor que ya tenemos instalado.

Paso 3 (opcional)- configuración general: Ahora configuraremos la URL base de la aplicación, para eso abrimos el archivo application/config/config.php y modificaremos la siguiente línea:

$config['base_url'] ="";

Por:

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

En donde:

  • 'codeigniter': Es la carpeta que contiene el framework; puedes colocar el nombre que quieras, por ejemplo el nombre que tendrá tu aplicación y haces los cambios correspondientes en la línea de código anterior.
  • 'localhost': Es el nombre del servidor.

Si va a emplear CodeIgniter en un servidor contratado, entonces deberá cargar el mismo vía FTP o algo similar.

Paso 4 (opcional) - configuración de la Base de Datos: Generalmente las aplicaciones web emplean base de datos, así que es muy probable que este sea tu caso; para ello debemos de configurar el archivo correspondiente que permite definir la base de datos, para eso nos vamos a application/config/database.php y buscamos las siguientes líneas:

$db['default'] = array(
	'dsn'	=> '',
	'hostname' => 'localhost',
	'username' => 'usuario-bd',
	'password' => 'password-usuario-bd',
	'database' => 'mi-bd',
	'dbdriver' => 'mysqli',
	'dbprefix' => '',
	'pconnect' => FALSE,
	'db_debug' => TRUE,
	'cache_on' => FALSE,
	'cachedir' => '',
	'char_set' => 'utf8',
	'dbcollat' => 'utf8_general_ci',
	'swap_pre' => '',
	'encrypt' => FALSE,
	'compress' => FALSE,
	'stricton' => FALSE,
	'failover' => array(),
	'save_queries' => TRUE
);

Y llenamos los 5 campos correspondientes, que son:

  • dbdriver: Motor de la base de datos; por ejemplo puedes colocar: mysql, mysqli, postgreSQL, odbc y mysqli; según el motor con el que desees trabajar.
  • hostname: Host en donde se encuentre alojada la Base de Datos (si tanto la aplicación como la Base de Datos se encuentran en la misma máquina puedes poner localhost).
  • username: Usuario de la Base de Datos.
  • password: La clave del usuario de la Base de Datos configurado en el paso anterior.
  • database: Nombre de la Base de Datos a acceder.

3. Observaciones adicionales sobre la instalación de CodeIgniter

Como observación adicional; acuerdese de tener el mod_rewrite de apache activado.

Si todo ha salido bien; vamos a nuestro navegador web y colocamos:

	http://localhost/codeigniter

En donde 'localhost' es el host en donde instalamos CodeIgniter (si fuera desde un servidor, sería el dominio del mismo) y 'codeigniter' es la carpeta que contiene la instalación del framework (si lo instalaste con la carpeta, si simplemente colocaste todo el contenido de la carpeta sobre la raíz del servidor, entonces no es necesario colocar el nombre de la carpeta en la URL).

Conociendo los aspectos básicos de CodeIgniter

Controlador por defecto:

Por defecto CodeIgniter tiene configurado el Controlador llamado Welcome, puedes ver el contenido en:

application\controllers\welcome.php

Este está configurado como controlador por defecto mediante el archivo

application\config\config.php

Que entre varias configuraciones, la misma presenta una similar a la siguiente:

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

En dicha línea se indica el nombre del controlador con el cual queremos que se ejecute la aplicación por defecto.

Si remueves la regla; es decir lo dejas así:

$route['default_controller'] ='';

Se ejecutaría el controlador index.php; en el mismo podemos colocar cualquier otro controlador por el cual queramos que se ejecute la aplicación.

Helpers: centraliza tu código de propósito común

Los helpers son archivos que nos permiten agregar funciones de una categoría en común, por ejemplo para un blog, podemos crear un helper el cual define la creación de URLs limpias, los comentarios de una entrada, la construcción del contenido de la entrada, etc; por supuesto, también existen helpers provistos ya por el sistema con funciones comunes en base a una misma categoría; para cargar un helper hacemos lo siguiente desde nuestro controlador o componente:

this->load->helper( array('helper1', 'helper2', 'helper3') );

Si solo vamos a cargar un helper:

this->load->helper('helper1');

Podemos crear nuestros propios helpers en el directorio:

application/helpers

Los cuales son archivos php con el sufijo _helper.

Librerías: crea tu pieza de código más completo y especializado

Las librerías son una solución similar a los helpers, pero es más especializado y podemos emplear clases en las mismas para definirlas; para cargar librerías tenemos que:

$this->load->library('libreria);

También podemos crear nuestras propias librerías.

Autoload: Para la carga automática de componentes

El archivo autoload el cual está ubicado en:

application/config/autoload.php

Podemos indicar componentes que se carguen de manera automática, como librerías y/o helpers:

$autoload['libraries'] = array('database', 'session'); 
$autoload['helper'] = array('url', 'form');

Andrés Cruz
Desarrollo con Laravel, Django, Flask, CodeIgniter, HTML5, CSS3, MySQL, JavaScript, Vue, Android, iOS, Flutter

Andrés Cruz en Udemy

Acepto recibir anuncios de interes sobre este Blog.

Conozca nuestros cursos sobre Laravel, CodeIgniter, Flutter, Electron, Django, Flask y muchos más!

Ver los cursos
¡Hazte afiliado en Gumroad!

!Cursos desde!

4$

En Academia

Ver los cursos

!Libros desde!

1$

Ver los libros
!Web Alojada en Hostinger!