Expresiones regulares con filtros en PHP

Buena alternativa para validar variables usando expresiones regulares usando filtros:

  • Validar números reales
$values= array(10.75, '10.75', -1234.5678, 'This is a string', array());
$filteredValues = filter_var($values, FILTER_VALIDATE_FLOAT, FILTER_REQUIRE_ARRAY);
  • Validar expresiones regulares
if(filter_var($value, FILTER_VALIDATE_REGEXP, array('options' => array('regexp' => "/^G(.+)/")))) {
// Lo que sea
}
  • Validar URLs
$url = 'http://www.devshed.com';
if(filter_var($url, FILTER_VALIDATE_URL)) {
// Lo que sea
}

Working with Regular Expressions with Filters in PHP 5

Interfaces predefinidas en PHP5

Interesante resumen de interfaces predefinidas en PHP5 que permiten darle a nuestros objetos unas características muy útiles:

  • Traversable: permite usar el objeto en un foreach.
  • Iterator: extiende de Traversable y permite realizar iteraciones sobre el objeto.
  • IteratorAggregate: extiende de Traversable y permite añadir objetos iterators externos.
  • ArrayAccess: permite comportarse al objeto como un array, usando por ejemplo el operador [].
  • Serializable: permite realizar serialización en el objeto.

PHP5: Predefined Interfaces

Vía / DZone

phpMyBackupPro: realiza backups de MySQL

phpMyBackupPro es un sistema que nos permite controlar las backups de nuestra BD MySQL de forma sencilla.

Entre las características que ofrece nos encontramos con:

  • Backups de una o varias BD con datos, sin datos, estrutura de las tablas, …
  • Tres tipos de comprensión: sin comprensión, gzip o zip
  • Backups programables
  • Administración de backups que permite verlas, recuperarlas, descargarlas o borrarlas
  • Backup en servidor FTP o envío por email
  • Modo shell

phpMyBackupPro

Vía / Weblenium

Detecta peticiones Ajax en PHP

Algo muy importante a la hora de desarrollar aplicaciones en Ajax es ofrecer la opción no-Ajax, y para ello es necesario detectar cuando la petición se realiza mediante Ajax, algo muy sencillo gracias a una cabecera que mandan los navegadores modernos:

if(!empty($_SERVER['HTTP_X_REQUESTED_WITH']) && strtolower($_SERVER['HTTP_X_REQUESTED_WITH']) == 'xmlhttprequest') {
echo "Es una petición AJAX"
}

Detect an AJAX Request in PHP

Internacionalización en PHP5.3

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.

Internationalization in PHP 5.3

Vía / PHPDeveloper.org