miércoles, 11 de marzo de 2009

Prototype vs jQuery


Navegando en internet encontré esta excelente presentación con la comparación de estos dos grandes de Javascript. Aquí se las dejo:



martes, 10 de marzo de 2009

Transformar errores y warnings de PHP en excepciones

Hoy estuve probando la funcionalidad de envío de email de PHP y como tenía el servidor de mail mal configurado en el PHP.INI, mi aplicación me mostraba un WARNING. El problema es que el WARNING no se tira como una excepción, o sea que no se le puede hacer TRY/CATCH, por lo tanto tuve que buscar como hacer para que estas WARNINGS se pudieran atrapar como cualquier excepción, el resultado es el siguiente:

En PHP existe una función llamada set_error_handler, la cual me permite establecer una función mía para manejar los errores de PHP (PHP tiene distintos tipos de errores y puedo definir distintos manejadores para cada tipo de error).

Entonces, para que todos los errores de PHP (incluyendo WARNINGS) sean enviados a mi manejador (para arrojar una excepción en su lugar) es implementado con el siguiente código:

set_error_handler("my_warning_handler", E_ALL);

function my_warning_handler($errno, $errstr, $errfile, $errline, $errcontext) {
throw new Exception( $errstr );
}

Seleccionando E_ALL, cualquier tipo de error es enviado a mi función para arrojar una excepción.

Los distintos tipos de errores que tiene PHP son:
  • E_ALL
  • E_WARNING
  • E_ERROR
  • E_PARSE
  • E_CORE_ERROR
  • E_CORE_WARNING
  • E_COMPILE_ERROR
  • E_COMPILE_WARNING
  • E_STRICT
Por más información sobre set_error_handler y manejo de errores en PHP:

Espero que les sirva.

viernes, 6 de marzo de 2009

Liberación de PHP v5.2.9

Aquí el link a la página oficial del anuncio:
http://www.php.net/releases/5_2_9.php

Aquí la página con los cambios por versión:
http://www.php.net/ChangeLog-5.php#5.2.9