Nuevas funcionalidades

PHP 5.3.0 ofrece un amplio rango de nuevas funcionalidades:

  • Se ha añadido suporte para espacios de nombres.
  • Se ha añadido soporte para Enlaces Estáticos en Tiempo de ejecución.
  • Se ha añadido soporte para etiquetas de saltos (goto limitado).
  • Se ha añadido soporte nativo para Funciones Anónimas (funciones Lambda).
  • Hay dos nuevos métodos mágicos, __callStatic y __invoke.
  • Ahora hay soporte para sintaxis Nowdoc, similar a la sintaxis Heredoc, pero con comillas simples.
  • Ahora es posible utilizar Heredoc para inicializar tanto variables estáticas como propiedades/constantes de clases.
  • Ahora se pueden declarar Heredocs usando comillas dobles, complementando la sintaxis de Nowdoc.
  • Ahora se pueden declarar Constants desde fuera de una clase utilizando la palabra clave const.
  • El operador ternario tiene una forma abreviada: ?:.
  • La envoltura para flujos HTTP ahora considera los códigos de estado del 200 al 399 como éxito.
  • Ahora es posible el acceso dinámico a métodos estáticos:
    <?php
    class {
       public static 
    $foo 123;
    }

    $a "C";
    echo 
    $a::$foo;
    ?>

    El resultado del ejemplo sería:

    123
    
  • Ahora se pueden anidar Excepciones:
    <?php
    class MyCustomException extends Exception {}

    try {
        throw new 
    MyCustomException("Exceptional"112);
    } catch (
    Exception $e) {
        
    /* Observe el uso del tercer parámetro al pasar $e
         * a RuntimeException. */
        
    throw new RuntimeException("Rethrowing"911$e);
    }
    ?>
  • Se ha añadido un recolector de basura para referencias circulares, y está activado de forma predeterminada.
  • La función mail() ahora admite registros de correos enviados mediante la directiva de configuración mail.log. (Nota: Esto sólo se aplica a correos enviados mediante esta función.)