8 Libs de KumbiaPHP

Kumbiaphp lleva clases listas para usar, pero recordad que podéis crearos vuestras propias clases para reutilizarlas en vuestros proyectos.También podéis usar clases externas a KumbiaPHP, como se explica en el próximo capítulo.

Caché

Un caché es un conjunto de datos duplicados de otros originales, con la propiedad de que los datos originales son costosos de acceder, normalmente en tiempo, respecto a la copia en la caché.

El caché de datos esta implementado en KumbiaPHP utilizando los patrones de diseño factory y singleton. Para hacer uso de la cache es necesario tener permisos de escritura en el directorio “cache” (solamente en el caso de los manejadores “sqlite” y “file”).

Cada caché es controlada por un manejador de caché. El sistema de caché de KumbiaPHP actualmente posee los siguientes manejadores:

  •  APC: utiliza Alternative PHP Cache.
  •  file: caché en archivos, estos se almacenan en el directorio caché y compatible con todos los sistemas operativos.
  • nixfile: caché en archivos, estos se almacenan en el directorio caché y compatible solo con sistemas operativos *nix (linux, freebsd, entre otros). Esta caché es más rápida que la caché «file».
  • sqlite: caché utilizando base de datos SqLite y esta se ubica en el directorio cache.
  • memsqlite: caché utilizando base de datos SqLite y los datos persisten en memoria durante la ejecución de la petición web.

Para obtener un manejador de caché se debe utilizar el método «driver» que proporciona la clase Cache.

driver($driver=null)

Este método permite obtener un manejador de cache específico (APC, file, nixfile, sqlite, memsqlite). Si no se indica, se obtiene el manejador de cache por defecto indicado en el config.ini.

<?php
// cache por defecto
$data = Cache::driver()->get(‘data’);
// manejador para memcache
$data_memcache = Cache::driver(‘memcache’)->get(‘data’);
// manejador para cache con APC
$data_apc = Cache::driver(‘APC’)->get(‘data’);
?>

get($id, $group=’default’)

Permite obtener un valor almacenado en la cache; es necesario especificar el parametro $id con el “id” correspondiente al valor en cache, tomando de manera predeterminada el grupo “default”.

save($value, $lifetime=null, $id=false, $group=’default’)

Permite guardar un valor en la cache, el tiempo de vida del valor en cache se debe especificar utilizando el formato de la función strtotime de php.

Al omitir parametros al invocar el método save se comporta de la manera siguiente:

● Si no se específica $lifetime, entonces se cachea por tiempo indefinido.

● Si no se especifica $id y $group, entonces se toma los indicados al invocar por última vez el método get.

<?php

$data = Cache::driver()->get(‘saludo’);

if(!$data) {

Cache::driver()->save(‘Hola’, ‘+1 day’);

}

echo $data;

?>

start ($lifetime, $id, $group=’default’)

Muestra buffer de salida cacheado, o en caso contrario inicia cacheo de buffer de salida hasta que se invoque el método end. Este método se utiliza frecuentemente para cachear un fragmento de vista.

<?php if(Cache::driver()->start(‘+1 day’, ‘saludo’)): ?>

Hola <?php echo $usuario ?>

<?php Cache::driver()->end() ?>

<?php endif; ?>

end ($save=true)

Termina cacheo de buffer de salida indicando si se debe guardar o no en la cache.

Logger

La clase Logger para el manejo de Log fue reescrita de forma estática, esto quiere decir ya no es necesario crear una instancia de la clase Logger. Esta clase dispone de una variedad de métodos para manejar distintos tipos de Log.

<?php Logger::error(‘Mensaje de Error’)?>

La salida de la instrucción anterior será lo siguiente:

[Thu, 05 Feb 09 15:19:39 -0500][ERROR] Mensaje de Error

Por defecto los archivos log tienen el siguiente nombre logDDMMYYY.txt este nombre puede ser cambiado si así lo deseamos a través de un parámetro adicional al método.

<?php Logger::error(‘Mensaje de Error’, ‘mi_log’)?>

Se puede apreciar el segundo parámetro ahora el archivo tendrá como nombre mi_log.txt

Logger::warning ($msg);

Logger::error ($msg)

Logger::debug ($msg)

Logger::alert ($msg)

Logger::critical ($msg)

Logger::notice ($msg)

Logger::info ($msg)

Logger::emergence ($msg)

Logger::custom ($type=’CUSTOM’, $msg)

Flash

Flash es un helper muy útil en Kumbia que permite hacer la salida de mensajes de error, advertencia, informativos y éxito de forma estándar.

Flash::error($text)

Permite enviar un mensaje de error al usuario. Por defecto es un mensaje de letras color rojo y fondo color rosa pero estos pueden ser alterados en la clase css en public /css/style.css llamada error.

Flash::error(“Ha ocurrido un error”);

Flash::valid($text)

Permite enviar un mensaje de éxito al usuario. Por defecto es un mensaje de letras color verdes y fondo color verde pastel pero estos pueden ser alterados en la clase css en public/css/style.css llamada valid.

Flash::valid(“Se realizó el proceso correctamente”);

Flash::info($text)

Permite enviar un mensaje de información al usuario. Por defecto es un mensaje de letras color azules y fondo color azul pastel; pero estos pueden ser alterados en la clase css en public/css/style.css llamada info.

Flash::info(“No hay resultados en la búsqueda”);

Flash::warning($text)

Permite enviar un mensaje de advertencia al usuario. Por defecto es un mensaje de letras color azules y fondo color azul pastel pero estos pueden ser alterados en la clase css en public/css/style.css llamada warning.

Flash::warning(“Advertencia: No ha iniciado sesión en el sistema”);

Flash::show($name, $text)

Session

La clase Session es para facilitar el manejo de la sessiones.

Session::set($index, $value, $namespace=’default’)

Crear o especifica el valor para un indice de la sesión actual.

<?php Session::set(‘usuario’, ‘Administrador’); ?>

Session::get($index, $namespace=’default’)

Obtener el valor para un indice de la sesión actual.

<?php
Session::get(‘usuario’);//retorna ‘Administrador’
?>

Session::delete($index, $namespace=’default’)

Elimina el valor para un indice de la sesión actual.

<?php Session::delete(‘usuario’); ?>

Session::has($index, $namespace=’default’)

Verifica que este definido el indice en la sesión actual.

<?php
Session::has(‘id_usuario’);//retorna false.
?>

NOTA: $namespace es un espacio individual en el cual se pueden contener las variables de sesión, permitiendo evitar colisiones con nombres de variables.

Load

Leave a Reply

Your email address will not be published. Required fields are marked *