PHPMaker es una aplicación para Windows que automatiza la generación de scripts para PHP. A partir de una base de datos MySQL, genera los scrips necesarios para ver, buscar, editar y borrar registros de las tablas.
Diseñado para ofrecer gran flexibilidad, dispone de muchas opciones que consiguen diseñar tu aplicación según tus necesidades. La generación de código es limpio y fácil de personalizar, pudiendo ser ejecutado en distintos tipos de máquinas. PHPMaker
VÃa / DirTik
PHP Payment es una librería PHP para realizar pagos en tres de las plataformas de pagos Paypal, Authorize.net y 2Checkout haciendo el proceso de pago bastante sencillo, como por ejemplo para Paypal:
// Include the paypal library
include_once ('Paypal.php');
// Create an instance of the paypal library
$myPaypal = new Paypal();
// Specify your paypal email
$myPaypal->addField('business', 'YOUR_PAYPAL_EMAIL');
// Specify the currency
$myPaypal->addField('currency_code', 'USD');
// Specify the url where paypal will send the user on success/failure
$myPaypal->addField('return', 'http://YOUR_HOST/payment/paypal_success.php');
$myPaypal->addField('cancel_return', 'http://YOUR_HOST/payment/paypal_failure.php');
// Specify the url where paypal will send the IPN
$myPaypal->addField('notify_url', 'http://YOUR_HOST/payment/paypal_ipn.php');
// Specify the product information
$myPaypal->addField('item_name', 'T-Shirt');
$myPaypal->addField('amount', '9.99');
$myPaypal->addField('item_number', '001');
// Specify any custom value
$myPaypal->addField('custom', 'muri-khao');
// Enable test mode if needed
$myPaypal->enableTestMode();
// Let's start the train!
$myPaypal->submitPayment();
H2O es un sistema de plantillas para PHP que nos facilita la realización de la parte de vistas del desarrollo de nuestra aplicación con formato MVC.
La sintaxis es sencilla, ya que se basa en el uso de etiquetas para variables ( {{ variable }} ) y para bloques/instrucciones ( {% if condicion %} … {% endif %} ).
Yo no soy partidario de usar estos tipos de lenguajes de plantillas, porque no dan buen rendimiento y porque es aprender algo nuevo y diferente. Claro que, en algunos proyectos, la realización de las páginas las hacen personas sin conocimientos de desarrollo web o PHP, por lo que estos sistemas les facilitan la labor. H2O
Ahora viene la parte más complicada, y digo complicada porque sinceramente he tenido que mirar el código porque algo me fallaba cuando seguía lo que decía la documentación.
El nombre del fichero JSON tiene el siguiente formato [dominio de traducción]-[idioma]-[handler del fichero].json, total nada.
Dominio será el que usemos para traducir, en el ejemplo sería mi-plugin:
__( 'Hola que tal', 'mi-plugin' );
Idioma es el código del idioma, en este caso es_ES
Y por último el handler del fichero es el primer parámetro que usamos en wp_enqueue_script
Lo podemos ver todo en un ejemplo final:
wp_enqueue_script(
'mi-plugin-handler', // El handler mencionado anteriormente
$blocks_script, // Nuestro path
[
'wp-i18n', // De referenciar al menos a wp-i18n
],
);
wp_set_script_translations( 'mi-plugin-handler, 'mi-plugin', plugin_dir_path( __FILE__ ) . 'languages' );
Muy buen artÃculo que explica cómo almacenar imágenes en campos blob usando MySQL y PHP, el post explica realmente cómo crear galerÃas de imágenes almacenándolas en campos blob. Yo personalmente no soy muy partidario de esta opción, cuando realmente se deberÃa guardar la ruta de la imagen en el servidor y que el servidor web se encargue de enviar la imágen, ya que si no, lo que hacemos es hacer trabajar bastante a la BD.
De todas formas, el artÃculo puede sernos útil para saber como almacenar en este tipo de campos, porque aunque el ejemplo no sea del todo correcto, en alguna ocasión si que vamos a necesitar guardar datos en campos blob.
Muy bien explicado, añade conceptos básicos de protección por contraseña, actualización y borrado de imágenes, a parte de un par de consejos sobre los problemas que nos podemos encontrar con la capacidad máxima que se permite subir al servidor usando PHP. PHP MySQL example: image gallery (blob-storage)
VÃa / Good PHP Tutorials
SAJA es una librerÃa para usar Ajax en PHP de forma segura, sin necesidad de crear ningún Javascript y dando soporte a PHP4 y PHP5.
Está diseñado para crear de forma rápida aplicaciones Ajax secillas, seguras y fáciles de mantener.
Se trata de crear funciones PHP que se encarguen de todo, no es necesario registrar callbacks, ni de importar otras funciones. Tan solo se escribe una función y se llama.
La seguridad que nos ofrece es debido a que las peticiones SAJA sólo son válidas si el usuario está actualmente en la página desde donde proviene la petición. A parte, para darle mayor seguridad, se puede encriptar los datos de entrada del usuario antes de que se envÃen al servidor.
Tan solo ocupa 14K y 3.8K para el usuario final. No utiliza XML debido a que pesa demasiado y a que parsearlo requiere más proceso que con datos normales. No es necesario escribir código Javascript a no ser que quieras hacer algo fuera de lo común. SAJA
VÃa / Ajaxian
La versión PHP5.3 está recién salida del horno, y una de las cosas más interesantes que trae son las funciones para trabajar con internacionalización (que no solo de inglés vive la web).
Para ello existen unas nuevas clases que nos ayudarán a crear páginas en varios idiomas o sin los problemas que antes nos encontrábamos para debido al “formato” en inglés:
Locale: divide los datos de localidad en componentes (pais, lenguaje, …)
Collator: compara y ordena strings de acuerdo con las reglas locales.
Number formatter: permite formatear números de diferentes modos (comas decimales, separador de miles, …)
Date formatter: formatea fechas y obtiene fechas de texto.
Message formatter: permite crear mensajes desde strings parametrizados dependiendo de las reglas locales.
Normalizer: para trabajar con Unicode de forma normalizada, ya que hay caracteres que son representados por distintos códigos Unicode.
Grapheme: trabaja con “graphemes” (no se traducirlo), que son las representaciones de las letras, las cuales puede constar de varios caracteres.
IDN: permite trabajar con nombres de dominios en formato internacional (eñes, acentos, …)
En el artículo explican más detalladamente cada clase.