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
Marjory es un webservice que nos ayuda a indexar y buscar documentos realizado en PHP. Utiliza la búsqueda fulltext aunque también está disponible la búsqueda mediante Lucene (en un futuro pretenden sacar más).
No utiliza protocolos XML-RPC o SOAP, usa una interfaz REST para comunicarse con las otras aplicaciones. Aunque no estaría mal respuestas en JSON.
Está realizado con Zend Framework y usa la librería para Lucene como motor de búsqueda por defecto.
Marjory
Propel es un ORM para PHP que facilita la labor de desarrollo de aplicaciones web, gracias a la capa que transforma el tratamiento de la BD mediante objetos, con la que se puede recuperar, insertar y modificar datos.
No es necesario preocuparse por las conexiones de la BD y escribir SQL. Tampoco es necesario escapar datos o realizar casting. Tan solo es necesario definir la base de datos en formato XML u obtener la definición desde una base de datos ya existente.
Sigo en mi evangelización de CodeIgniter, y en este caso se trata de un mini tutoria que explica cómo crear un carrito de la compra usando la librería Shopping Chart Class que ofrece CodeIgniter. Quizás sea mejor utilizar aplicaciones específicas para crear tiendas, pero en algunos casos no nos queda otra que implementarlo nosotros mismos.
Building a Shopping Cart using CodeIgniter’s Shopping Cart Class
Vía / PHPDeveloper.org
OpenCart es una aplicación para venta online (el típico carrito de la compra) realizado en PHP5 y MySQL.
Es fácil de instalar y de administrar y posee casi todas las opciones que un e-commerce necesita: pago, shiping, artículos, clientes, paypal…
OpenCart
Vía / SmashingApps
Algo que debemos tener muy en cuenta cuando realizamos nuestra aplicación web es limpiar la entrada de datos de contenido malicioso, ya sea para SQL injection o cross-site scripting (XSS). Los frameworks suelen tener su propia librería que se encarga de ello, pero para aquellos que no usen framework o hagan una aplicación muy sencilla, esta librería les vendrá muy bien.
// Output an unsafe string, presumably user input
$xss = '';
echo 'If your entered your name as ' . $xss . ', we\'d be in trouble.
' . "\n";
// Sanitize that string, and output it safely
$htmlContentContext = sgSanitizer::sanitizeForHTMLContent($xss);
echo "But if we sanitize your name, " . $htmlContentContext . ", then all is well.
\n";
Vía / PHPDeveloper.org
CodeIgniter es uno de los frameworks PHP de los que más se habla últimamente, a mà personalmente me gusta bastante, aunque hay algunas cosas que no son como me gustarÃa.
Una de ellas es la estructura de las URLs, las URLs siguen el formato:
http://dominio/controlador/metodo/parametro/parametro/...
El controlador es la clase que se encarga de hacer las operaciones y el método es el método de la clase que realiza una función concreta.
Por ejemplo si tenemos una tienda online, podemos tener un controlador para productos y un método que sea editar, con el que se podrá modificar las caracterÃsticas del producto. La url serÃa la siguiente:
http://tienda.com/articulo/editar/cafetera
Con esta url podemos editar un artÃculo llamado cafetera y además es bastante entendible. Pero, ¿qué pasa si queremos mostrar el artÃculo cafetera?, pues que la url deberÃa ser la siguiente:
http://tienda.com/articulo/ver/cafetera
Pero lo de ver no queda demasiado bien y queda mejor si es directamente:
http://tienda.com/articulo/cafetera
El problema nos lo encontramos cuando queremos usar una URL que no indique el método y si un parámetro. Si no usamos ni método ni parámetro, CodeIgniter toma por defecto el método index, pero si no usamos método y si parámetro, CodeIgniter no es capaz de saber que lo que mandamos es un parámetro, por lo que hay que usar el Apache para que siga la estructura de CodeIgniter.
RewriteEngine on RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^articulo/(.+)$ index.php/articulo/ver/$1 [L] RewriteCond $1 !^(index\.php|favicon\.ico) RewriteRule ^(.*)$ index.php/$1 [L]
Hay que tener en cuenta que este ejemplo es válido únicamente si solo se va a usar siempre dos segmentos en la url, uno para el controlador y otro para el parámetro.
La segunda parte y el uso de index.php es debido a que CodeIgniter usa este script para gestionar toda la aplicación, y para que no aparezca, debemos redireccionarlo todo a index.php, menos los ficheros que existen como el favicon, el robot.txt, etc.
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