Funciones comunes en CodeIgniter

  • Por
  • PHP
Una serie de funciones básicas que están disponibles en CodeIgniter de manera global y que no tenemos que incluir nunca, pues no forman parte de ninguna librería.
Existen en CodeIgniter múltiples librerías de funciones, que tienen código para diversos propósitos. Sin embargo, hay una serie de funciones que debemos ver aparte, porque no pertenecen a ninguna librería y por ello, no encontraremos documentación en otros lugares sobre ellas.

Por tanto, este artículo viene a resolver las lagunas que podremos encontrarnos cuando queramos ver para qué sirve tal y tal función que parece que no están explicadas en ningún helper o en ninguna librería (de las que ofrecen clases de programación orientada a objetos).

Estas funciones son globales a toda aplicación CodeIgniter, por lo que no tenemos que incluirlas explícitamente de ningún modo. Del mismo modo, al ser globales, las podemos invocar desde cualquier pedazo de código de nuestros programas, ya sean vistas, controladores o modelos.

is_php("numero_version")

Esta función sirve para saber si tenemos o no una versión de PHP en el servidor dada por parámetro. Devuelve true si la versión de PHP sobre la que trabajamos es igual o superior a la que le enviemos por parámetro.

Aunque ningún informático serio os recomendaría desarrollar una aplicación pensando en una versión de PHP determinada, para conseguir que un proyecto pueda funcionar en varios tipos de servidores web, tendremos que hacer esa pregunta en algunos casos, cuando queramos utilizar funcionalidades de PHP que quizás no estén disponibles en todos los servidores.

if (is_php('5.2.3')) {
   echo "Estás usando PHP 5.2.3 o superior";
}

is_really_writable('Camino/a/archivo')

Esta función nos sirve para sustituir la función nativa de PHP is_writable(), dado que esta última puede en determinadas circunstancias ofrecer una respuesta incorrecta, en sistemas operativos Windows. La versión de CodeIgniter de esta función que nos dice si podemos o no escribir en un fichero funciona siempre bien, dado que la prueba la realiza intentando escribir realmente en el fichero.

if (is_really_writable('camino/miarchivo.txt')) {
   echo "Puedes estar tranquilo, pues el archivo se puede escribir con certeza";
} else {
   echo "No vas a conseguir escribir en ese fichero";
}

config_item('item_key')

Esta función sirve para obtener la configuración sobre un item simple, de los definidos en el archivo system/application/config/config.php.

echo config_item('charset');
//nos devolvería el juego de caracteres configurado en nuestra aplicación CodeIgniter.

Nota: Para trabajar con las configuraciones de CodeIgniter hay una librería llamada "Config Class" que tiene muchas otras funciones que debemos conocer.

set_status_header(codigo, 'texto')

Esta función nos sirve para enviar códigos de estado en la cabecera del protocolo HTTP.

set_status_header("401");

Esta función haría que el acceso a esta página tuviera una respuesta de estado del servidor como la que sigue:

HTTP/1.1 401 Unauthorized

Nota: Las cabeceras del HTTP envían al cliente web un estado de la respuesta a su solicitud de acceso a una URL. Códigos habituales en la cabecera son, por ejemplo:
HTTP/1.1 200 OK (para página encontrada)
HTTP/1.1 500 Internal Server Error (para un error de script del servidor en la generación de la página)

En el segundo parámetro de set_status_header() podemos colocar un texto cualquiera, para que la descripción del código de HTTP sea la que nosotros indiquemos.

Funciones relacionadas con la gestión de errores

Además, existen otra serie de funciones como show_error(), show_404() o log_message() que sirven para la gestión y administración de errores de aplicación, que veremos más adelante en el capítulo dedicado a la gestión de errores en CodeIgniter.