Mejoras de PHP 5.3 que todo programador debería conocer
¿Eres programador PHP? Entonces deberías actualizarte a la nueva versión de PHP y aprovecharte de sus mejoras. Con PHP 5.3, el mismo código en PHP 5.3 se ejecuta un 50% más rápido que un código escrito en PHP 5.2. Unido a la mejora del rendimiento unido a la mejora en cuanto seguridad es lo que debería motivar a cualquier desarrollador PHP a actualizarse a la nueva versión. Además, pueden surgir problemas en el código escrito en versiones anteriores.
Entre los cambios más importantes que podemos encontrarnos, están los siguientes:
1. Las short tags de PHP están obsoletas
Ahora usar <? o <?=$variable dará error tipo DEPRECATED e interrumpirá la ejecución de la aplicación web.
Esto era recomendable desde hace varios años para evitar conflictos en documentos XML, que empiezan con dichas tags.
//el siguiente código dará error <? echo "hola"; ?> <?=$di_hola ?> //el código correcto es el siguiente <?php echo "hola"; ?> <?php echo $di_hola; ?>
2. Nueva constante __DIR__
Esta nueva constante sirve para reemplazar el típico código dirname(__FILE__) que nos devuelve el nombre del directorio en el cual se encuentra el script desde el que se invoca.
3. Mejoras en el operador ternario
Ahora bastará indicar dos opciones para una situación en la que una variable tendrá un valor o no.
PHP tomará como buena la opción que tenga un valor true o no sea empty().
echo true?:false;//true echo false?:true;//true echo ""?1;//1 echo 0?:2;//2 $array= array()?:array(1);//la variable array contendrá -> array(1); echo strlen("")?:strlen("a");//1
4. mySQLInd
Librería cliente entre MySQL y PHP, que no requiere otras librerías clientes intermedias.
Funciona de una forma transparente al programador y de una forma mucho más eficiente que libmysql.
El único inconveniente es que no tiene soporte completo actualmente para PDO, solo para la interfaz mysqli.
*NOTA: este cliente guardará por defecto datos en campos tipo PASSWORD de mysql con compatibilidad superior a mysql4, se elimina el soporte para formatos anteriores dando un error del tipo
«mysqlnd cannot connect to MySQL 4.1+ using old authentication«.
Archivos .user.ini y distintas configuraciones de php para un mismo php.ini
Se pueden usar archivos .user.ini para configuraciones de fastcgi/cgi similares a .htaccess.
Ahora los archivos php.ini podrán contener archivos .ini adicionales con configuraciones especializadas para un directorio concreto.
5. Namespaces
Los namespaces era una funcionalidad muy esperada por los desarrolladores de PHP. Ahora gracias a ellos podremos tener un código mucho más limpio y ordenado.
Php 5.3 y superiores soportarán múltiples namespaces por archivo.
Ejemplo de código sin usar namespaces
function common_hacerAlgo(){ /**/ } class Common_Mailing { /**/ } define('COMMON_CONST',''); common_hacerAlgo(); new Common_Mailing(); COMMON_CONST;
Mismo ejemplo con namespaces
namespace COMMON; function hacerAlgo() {} class Mailing {} const CONS = ''; use COMMON as cm; hacerAlgo(); new Mailing(); CONST;
Actualízate ya a PHP 5.3
¿No dispones aún de la última versión de PHP? En el siguiente artículo te contamos paso a paso cómo migrar de PHP.