Tutorial para desarrollar aplicaciones de escritorio con PHP

Completo tutorial que nos muestra como realizar nuestras aplicaciones de escritorio con PHP. Antes de nada es importante realizar un cambio de mentalidad, ya que normalmente PHP se usa para realizar aplicaciones Web, que están basadas en entrada de datos, mientras que las aplicaciones de escritorio están basadas en eventos.

Para realizar estas aplicaciones es necesario usar PHP-GTK, la cual nos permite crear ventanas usando las herramientas de GTK.

El tutorial empieza con una pequeña introducción y luego una explicación de los beneficios de aplicaciones de escritorio. Y como remate final, un ejemplo de Hello Wolrd:

<?php
// Code snippet from the PHP-GTK manual.
if (!class_exists('gtk')) die("Please load the php-gtk2 module in your php.ini");
$window = new GtkWindow();
$window->set_title('Our PHP-GTK window');
$window->connect_simple('destroy', array('gtk', 'main_quit'));
$label1 = new GtkLabel("Hello world!");
$window->add($label1);
$window->show_all();
Gtk::main();
?>

Building Desktop Applications in PHP

Vía / PHPDeveloper.org

Clase PHP para PayPal

Creo que cualquier negocio por Internet debería permitir el pago por PayPal, por ello, los desarrolladores necesitan usar el API de PayPal para facilitar su trabajo. Y mejor si es mediante una clase ya existente.
SnPayPalApi es una clase que mediante SOAP nos permite realizar operaciones con el API de PayPal. Nos ayudará a buscar transacciones y obtener el detalle de estas, enviar pagos masivos, reembolsar el pago de transacciones y obtener el balance de una cuenta.
Tengan cuidado que si mal no creo PayPal no permite hacer pruebas, todas las operaciones son reales.
SnPayPalApi

|

PHP.JS: usar Javaqscript con nomenclatura PHP

PHP.JS es un script que quiere mover las funciones PHP a Javascript, para que el desarrollador use la misma nomenclatura, ya que hay funciones muy similares y que para desarrolladores poco experimentados puede resultarles confuso.
Yo recomiendo que la gente aprenda ambos lenguajes y que los sepa diferenciar, pero ante la confusión de lenguajes puedes echar mano a este script, aunque de rendimiento puede ir peor.
Entre las funciones nos encontramos las que tratan los arrays, strings, UTF-8, entre otras.
PHP.JS
Vía / dzone

Zend Framework 1.5.0 Preview Release

La gente de Zend ha sacado a la luz la nueva versión de Zend Framework (1.5.0 Preview Release). Lógicamente no es estable y los desarrolladores esperan los comentarios de los usuarios para poder pulirla.

En ella podemos encontrar como novedades:

  • El componente Zend_Form con soporte para AJAX
  • Autenticadores para Infocard, OpenID y LDAP
  • Helpers para composición avanzada de vistas.
  • El nuevo componente Zend_Latout para la automatización y la creación sencilla de layouts.

Zend Framework 1.5.0 Preview Release now available

Vía / PHPDeveloper.org

Nueva versión de CodeIgniter

codeigniter.pngCodeIgniter, el framework de PHP y uno de los que personalmente más me gustan, ha sacado una nueva versión, lo que no tengo muy claro es cual, porque ellos indican en la noticia que es la 1.5.2, cuando ya hace tiempo salió la 1.5.4, por lo cual, viendo el código se puede ver que es la 1.6.0

// CI Version
define('CI_VERSION', '1.6.0');

Tampoco le hagáis mucho caso (por ahora) a lo que diga el changelog, ya que muestra el de la version 1.5.2, en el changelog del SVN se pueden ver los cambios realizados a esta última versión:

  • La posibilidad de cargar varias vistas, añadiendo el contenido de estas al buffer.
  • Añadida la clase DBForge a las herramientas de la base de datos.
  • Modificaciones en Active Record, como por ejemplo vaciar tablas, contar resultados, seleccionar máximos o mínimos.
  • Posibilidad de decidir si se guarda o no el histórico de SQLs ejecutadas, antes sí se guardaban siempre, lo cual podía acabar con la memoria si se realizaban procesos con muchas quueries (por ejemplo importaciones).
  • Poder autocargar modelos y lenguajes de traducción.
  • Nuevo email helper.

CodeIgniter

Mejorar la velocidad de nuestra web con PHP

A la hora de mejorar mejorar el rendimiento de nuestras páginas web podemos hacer cuatro cosas:

  • Realizar menos peticiones HTTP
  • Añadir una cabecera para que expire en el futuro
  • Comprimir mediante Gzip componentes de la página
  • Reducir el tamaño de los archivos Javascript, CSS y HTML

Todo esto se puede hacer con la librería que mostramos a continuación: reduce las peticiones porque junta los archivos CSS y Javascript, y reduce los CSS, HTML y Javascript eliminando espacios y cosas parecidas y luego cacheando.

Para ello solo habrá que añadir como mínimo 3 líneas:

require_once('class.compressor.php');
$compressor = new compressor('css,javascript,page');
// Y al final del script
$compressor->finish();

Improve website load time by 500% with 3 lines of code

SilverStripe: otro CMS open source

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.
silverstripe.png
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

Comparativa entre Symfony y Zend

Tanto Symfony como Zend frameworks son frameworks PHP5 con gran éxito entre los desarrolladores. Como siempre pasa sobre gustos no hay nada escrito, pero para aquel que quiera elegir entre uno, esta comparativa puede venirle muy bien.

  • Comienzo: Symfony tiene mucha documentación y gente por detrás desarrollando y ayudando, algo de lo que anda un poco corto Zend.
  • Testing: Symfony viene con tareas de testing por línea de comandos y genera una clase vacía para ello al crear un controlador. Mientras que Zend no ofrece soporte para testing.
  • Plantillas: Zend tiene un sistema de plantillas un poco verde al que hay que hacerle algunos hacks para realizar algunas cosas. Symfony, al contrario, su sistema de plantillas es muy maduro, al cual le puedes añadir módulos.
  • Plugins: más de lo mismo, Symfony es extensible, Zend no.
  • Módulos de bases de datos: Zend usa ActiveRecord, mientras que en Simfony le puedes añadir el motor que desees, incluso Zend_Db.

PHP: Symfony vs. Zend

Gracias David por el aviso.

HTML Purifier 3

htmlpurifier.pngHTML Purifier es un filtro en PHP que elimina código XSS de HTML y hace que sea estándar. Acaba de sacar la versión 3.0 y entre las novedades nos encontramos con:

  • Requiere PHP5.
  • Las propiedades CSS no son sensibles a mayúsculas o minúsculas.
  • Elimina las etiquetas <style> (necesita CSSTidy).
  • Mejoras en el motor de estilos.

HTML Purifier