Carga automática de recursos en CodeIgniter

  • Por
  • PHP
Los recursos en CodeIgniter, como librerías o plugins, se cargan sólo bajo demanda, pero podemos configurar el framework para la carga automática cada vez que se ejecuta el sistema.
En el Manual de CodeIgniter, al hablar de los distintos tipos de recursos, explicamos cómo se pueden cargar explícitamente desde los scripts donde los necesitamos. No obstante, debemos saber que esa operación se puede resumir en un archivo de configuración. En este artículo vamos a ver cómo realizar la precarga de aquellos recursos que utilizaremos de manera intensiva en el desarrollo de nuestra aplicación web.

En CodeIgniter, por razones de ahorro de tiempo de ejecución del framework, se tomó la decisión de cargar el menor número de complementos de manera predeterminada. Esto quiere decir que nosotros tenemos que tomarnos la molestia de cargar todos los recursos que queramos utilizar, como librerías, helpers, plugins, etc.

Ahora bien, existe un modo de precargar aquellos recursos que pretendemos utilizar en todas las páginas, o la mayoría de ellas, de modo que no tengamos que invocarlos explícitamente en cada script donde queramos utilizarlos. La carga automática (auto-load sería en inglés) se realiza cada vez que el framework se ejecuta, por lo que será conveniente utilizarla cuando tengamos un componente que se va a necesitar en toda la aplicación web.

Nota: Por ejemplo, en CodeIgniter no se conecta con la base de datos de manera predeterminada, sino que tenemos que cargar la librería correspondiente ("database"). Excepto que en la documentación diga lo contrario, todos los recursos de CodeIgniter deben cargarse en cada página que los necesite. Existen muy pocas librerías con carga predeterminada, un caso es la URI Class.

Archivo de carga automática autoload.php

Para cargar cualquier recurso automáticamente en CodeIgniter tienes que indicarlo en el archivo autoload.php, que está en la ruta:

system/application/config/autoload.php

En tal archivo encontrarás el código PHP para indicar qué elementos deseas que se carguen cada vez que se inicia CodeIgniter. La sintaxis es fácilmente comprensible. Veremos un array por cada tipo de cosa que se desea cargar de manera automática, como librerías, plugins, helpers, modelos etc. En el array debemos incluir el nombre del archivo con código que deseamos cargar, pero sin la extensión .php.

En el propio archivo autoload.php hay instrucciones acerca de cada uno de los tipos de cosas que se pueden pre-cargar y algunos ejemplos de código con la definición de arrays en los que se indican varios elementos para cargar automáticamente.

Por ejemplo, así podemos precargar varios helpers de CodeIgniter.

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

Por supuesto, podemos cargar automáticamente los recursos de CodeIgniter, así como otros programados por nosotros mismos. Ahora podemos ver cómo se hace el autoload de varias librerías, algunas que contienen clases definidas en el núcleo de CodeIgniter y otras creadas por nosotros mismos.

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

Qué tipo de recursos se pueden cargar

En el propio archivo autoload.php encontraremos también una relación de los recursos que podemos precargar desde allí.

  1. Librerías
  2. Helpers
  3. Plugins
  4. Archivos de configuración personalizados
  5. Archivos de idioma
  6. Modelos

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