Librería Tokyo Tyrant para PHP
Cada día suenan más las bases de datos clave-valor, y entre ellas Tokyo Tyrant, por lo que no nos vendrá mal hacer uso de la librería PECL para ella, lástima que sea PECL.
PHP Tokyo Tyrant
Cada día suenan más las bases de datos clave-valor, y entre ellas Tokyo Tyrant, por lo que no nos vendrá mal hacer uso de la librería PECL para ella, lástima que sea PECL.
PHP Tokyo Tyrant
In object oriented programming, polymorphism is a powerful and fundamental tool. It can be used to create a more organic flow in your application. This tutorial will describe the general concept of polymorphism, and how it can easily be deployed in PHP. What is Polymorphism? Polymorphism is a long word for a very simple concept. Polymorphism descri…
Pixy es una aplicación Java que rastreará nuestro código PHP en busca de vulnerabilidades XSS y SQL Injection.
Encuentrq vulnerabilidades que normalmente se encuentran en auditorÃas manuales, salvo que estas pueden pasar por encima algunas. Pixy tan solo es válido para código PHP4, aún no es compatible con PHP5. Realiza informes sobre los puntos vulnerables del código, para lo cual toma el programa PHP como entrada y acto seguido lo analiza.
Pixy
VÃa / VT’s Tech Blog
JSON es un formato de datos de intercambio de Javascript que el auge de AJAX ha hecho muy popular. En javascript es mucho más cómodo trabajar con JSON frente a XML ya que podemos analizarlo rápidamente utilizando eval()
.
Cuando queremos trabajar con API´s como las de Amazon, Technorati, del.icio.us o Ficrk vía REST nos encontramos con que todas ellas devuelven los datos en XML. Gracias a PHP5 y utilizando sus extensiones DOM y XSL podemos transformar un documento XML en JSON de forma muy sencilla.
En primer lugar vamos a componer la URL con la que haremos nuestra consulta:
$technoratiApiKey = "introduceTuAPIdeTechnorati";
$url = "http://api.technorati.com/tag";
$tag = "usabilidad";
$request=$url."?key=".$technoratiApiKey."&tag=".urlencode($tag);
Y ahora creamos un nuevo objeto DOM y cargamos nuestro el fichero XML que nos devuelve la consulta:
$inputdom = new DomDocument();
$inputdom->load($request);
Para transformar los datos utilizaremos un xml2json.xsl, un fichero XSLT que tiene las instrucciones para transformar XML en JSON. Lo cargamos en un nuevo objeto DOM:
$xslt = "xml2json.xsl";
$xsl = new DomDocument();
$xsl->load($xslt);
¿Qué nos falta? pues: crear un procesador de XSLT en PHP, cargar nuestra xslt, realizar la transformación y generar el documento:
$proc = new XsltProcessor();
$xsl = $proc->importStylesheet($xsl);
$newdom = $proc->transformToDoc($inputdom);
print $newdom->saveHTML();
Próximamente veremos cómo utilizar esta técnica para procesar información de diversas API´s REST mediante AJAX.
SilverStripe es otro CMS open source del estilo Drupal o Joomla, el cual es muy intuitivo y fácil de usar, flexible, basado en MVC, escalable, cumple estándares, fácil de extender mediante módulos y mucho más.
Es necesario PHP y aunque hay una comunidad detrás trabajando para mejorar el CMS, noto que la ayuda no es demasiado extensa. La administración es muy completa, además incluye módulos para e-commerce, blog, foros, flickr, Google Maps. Para aquellos cuyos conocimiento de desarrollo no sea muy amplio, les será de gran ayuda para que puedan desarrollar sus aplicaciones.
SilverStripe
La mayorÃa de las aplicaciones web usan la sesión para almacenar información que podemos utilizar en todas las páginas que visitemos, asà no será necesario pasarla por parámetro como muchas veces se hace (incorrectamente).
Normalmente la sesión se guarda en un fichero en el servidor, lo cual puede ser un problema, ya que si queremos usar varios servidores en cluster, la sesión no estarÃa disponible si en la siguiente página que visitamos, el servidor que atiende nuestra aplicación no es el mismo. Yo no soy experto en sistemas, pero si el sistema permite session-aware en el balanceo de carga, no nos encontraremos con este problema.
Si nos encontramos con ese problema y es necesario solucionarlo mediante programación, PHP nos permite gestionar las sesiones, indicando el modo de guardar y leer las sesiones. Para ello existe la función session_set_save_handler(), en la cual indicaremos los métodos para abrir, cerrar, leer, escribir, destruir y liberar sesiones.
En el artÃculo que referenciamos guardan la sesión en la base de datos, para lo cual habrá que crear una tabla que almacene el ID de la sesión, la información y la fecha de expiración. Las acciones de tratamiento de la sesión usarán esta tabla para almacenar y tratar la información de la sesión. Al abrir y cerrar la sesión no se debe hacer nada, leer leerá de la tabla según el ID dado y si no ha expirado, guardar insertará/modificará en la tabla guardando los datos, destruir borrará los datos de la tabla y liberar sesiones borrará de la tabla las sesiones que hayan caducado.
Storing PHP Sessions in a Database
VÃa / PHPDeveloper.org
El framework para PHP CodeIgniter ha lanzado la versión 1.7, corrige muchos errores y añade alguna nueva funcionalidad, siendo para mí lo más destacable la creación de una nueva clase para validad formularios.
Otro aspecto interesante es la guía de estilos de programación que han creado.
CodeIgniter 1.7
Gracias David por el aviso
Comments are closed.
Hola, he dado un vistazo a la documentación de Tokyo Tyrant y no acabo de entender del todo para que sirve una base de datos clave-valor..
Me lo podÃas aclarar?
Saludos.
Hola
Normalmente las BD son relacionales, tal tabla se relaciona con tal otra, … Pero esto no siempre es necesario ya que muchas veces sólo se realizan accesos mediante el ID de la tabla. ¿Para qué usar una BD relacional si vas a tirar únicamente de ID?
Una de las caracterÃsticas más importantes de las BD clave-valor es su rapidez, son mucho más rápidas que las BD relacionales.
ImagÃnate que tienes una BD que controla el spam de una web y necesitas saber si una IP está aceptada o rechazada. En este caso no necesitarÃas una BD relacional, solo saber si span[‘ip’] es true o false.
Espero haberte despejado las dudas.
Saludos