Crear servicios RESTFul con Epiphany Framework y PHP
Epiphany es un “micro” framework rápido, claro y de fácil uso para crear servicios RESTful usando PHP. Es muy simple pero muy poderoso a la vez, permite a los desarrolladores crear servicios REST en muy poco tiempo.
Epiphany es un proyecto open source que podemos descargar desde GitHub, para comenzar a usarlo debemos obviamente tener instalado PHP5+ y mod_rewrite en nuestro servidor Apache.
Top 10 nuevas funcionalidades en PHP 5.4
PHP 5.4 incluye una gran cantidad de nuevas funcionalidades y muchas correcciones de bugs. La última versión de PHP fue liberada el pasado 1ero. de marzo, entre las mejoras generales de la versión encontramos por ejemplo, mejoras de performance, reducción del consumo de memoria, código de base más “limpio” ya que se eliminaron las funciones “deprecated”, entre otras.
Leer másComo extender Smarty mediante plugins con PHP
Introducción
En este artículo vamos ver cómo extender el famoso y conocido motor de plantillas (o template engine) Smarty mediante plugins desarrollados completamente en nuestro lenguaje predilecto, PHP.
Smarty es uno de los motores de plantillas más extendidos y conocidos en la comunidad de desarrolladores y/o diseñadores LAMP; sus poderosas características hacen que Smarty sea el elegido a la hora de construir sitios o aplicaciones web. Una de esas características es justamente, la posibilidad de extender y mejorar el framework mediante la creación de plugins desarrollados puramente en PHP.
Generar menú tipo árbol con PHP

En esta oportunidad veremos una librería para PHP que nos permite crear menús tipo árbol (Tree menus) como los del explorador de windows usando PHP. La librería en cuestión es HTML_TreeMenu que forma parte de la conocida librería de componentes de PHP, PEAR.
PHP 5.3.0 la nueva versión
El pasado 30 de junio salió a la luz la nueva versión de PHP, la 5.3.0 es la versión más importante de la serie 5.X ya que corrige más de 140 bugs, además nos acerca algunas de las mejoras que se esperaban para la versión 6 que se ha demorado un poco.
Entre las nuevas funcionalidades podemos encontrar:
Soporte para namespaces, si!! por fin!! una de las características realmente esperadas por la comunidad ya que ahora podemos agrupar clases, funciones y constantes que estén relacionadas sin porvocar colisiones con otras librerías o con funciones nativas de PHP
Otro cambio importante es el reemplazo de la librería nativa para soporte de Mysql (libmysql), ahora tendremos a mysqlnd con varias mejoras de performance, fuentes oficiales preveen entre un 5% y un 15% de mejora en el rendimiento.
Garbage collection para referencias cíclicas.
Mejoras en la nueva clase para manejo de fechas y horas, DateTime (aparecida en la versión 5.2), otra funcionalidad muy esperada, la misma incluye posibilidad de realizar operaciones con fechas como agregar, obtener diferencias y formatear, entre otras.
También encontraremos nuevas extensiones nativas como ext/phar que provee una forma de poner una aplicación PHP en un solo archivo con la posibilidad de ejecutarla en el server sin extraerla, es una muy buena forma de distribuir e instalar aplicaciones que me hace recordar al conocido war para aplicaciones web Java.
También tenemos ext/intl que permite la internacionalización de fechas, horas, números y monedas, por lo tanto, podemos ir dejando de lado los viejos arrays que traducían los meses y los días en nuestras aplicaciones.
Finalemente, resta decir que éstas son algunas de las mejoras en la nueva versión de PHP y que recomendamos que visiten el sitio oficial para enterarse y profundizar en las nuevas características del lenguaje.
Mas información:
Leer más3 errores comunes programando en PHP
Esta es una lista de los 3 errores más comunes que cometemos cuando programamos en PHP, especialmente si hace poco que conoces el lenguaje.
1.- La función header():
Alguna vez nos hemos encontrado con el mensaje “warning: Cannot add header information – headers already sent ….” esto se debe a que cuando el navegador solicita una página el server envía la respuesta en 2 partes, el header, que esta conformado por “datos invisibles” para el usuario como las cookies por ejemplo; y el contenido que es lo que el usuario ve en el navegador, html, imagenes, etc.
Por lo tanto siempre debemos usar la funcion header antes de enviar cualquier dato al navegador; el archivo php.ini contiene una opción que permite habilitar y deshabilitar si queremos que nos avise el error: output_buffering = on / off. En un ambiente de desarrollo es importante tener esta opción deshabilitada ya que sino nunca podríamos darnos cuenta si estamos cometiendo el error.
El siguiente código genera el error (asegúrense de tener output_buffering = off en el php.ini)
<?php //tratamos de enviar el mensaje hola antes que la redireccion echo "hola"; header("Location: http://localhost/pruebas/errores2.php"); ?> |
lo mismo sucede con otras funciones relacionadas con los cabezales HTTP como session_start() y setcookie().
2.- Problemas al comparar:
Es común ver el siguiente código
<?php //esto es incorrecto if ($variable = 'algo'){ //hacemos algo } //esto es correcto if ($variable == 'algo'){ //hacemos algo } ?> |
deben recordar que el operador de comparación de igual es == y el símbolo = es el indicador de asignación de variable.
3.- Olvidar break en el switch:
Cuando usamos la sentencia de control switch, solemos olvidar usar break al final de cada opción, lo que genera por ejemplo, cuando la primera opción es evaluada en true se ejecute el resto de las opciones también, veamos un ejemplo:
<?php $test = 1; switch($test){ case 1: echo 'algo'; case 2: echo 'algo mas'; case 3: echo 'mucho mas'; } ?> |
en este caso la opción verdadera es la 1 pero al no usar break ejecutará todos los echo siguientes hasta encontrar un break o hasta terminar el switch, lo que puede ser fatal.
Tambien es recomendable usar la opción default lo que nos asegura que si ninguno de los casos es verdadero, se ejecuta el código default y asi podemos prevenir errores.
El código correcto seria
<?php $test = 1; switch($test){ case 1: echo 'algo'; break; case 2: echo 'algo mas'; break; case 3: echo 'mucho mas'; break; default: echo 'opcion por defecto'; } ?> |
Bueno espero que estas lineas puedan serle útiles, especialmente si están comenzando con PHP.
Leer más





