SunshinePHP Developer Conference 2015

Registro de cambios de POO

Aquí se registran los cambios del modelo de POO de PHP 5. Las descripciones y otras notas respecto a estas nuevas funcionalidades están documentadas dentro de la documentación de POO 5.

Versión Descripción
5.5.0 Añadido: finally para manejar excepciones.
5.4.0 Añadido: traits.
5.4.0 Cambiado: Si una clase abstracta define una firma para el constructor, ahora se hará cumplir.
5.3.3 Cambiado: Los métodos con el mismo nombre que el último elemento de un nombre de clase perteneciente a un espacio de nombres ya no serán tratados como un constructor. Este cambio no afecta a las clases que no pertenecen a un espacio de nombres.
5.3.0 Cambiado: Ya no es necesario que los valores predeterminados de los métodos de una clase que implemente un interfaz coincidan con los valores predeterminados de los prototipos de la interfaz.
5.3.0 Cambiado: Ahora es posible hacer referencia a la clase utilizando una variable (p.ej., echo $nombreclase::constante;). La variable no puede contener como valor una palabra reservada (p.ej., self, parent o static).
5.3.0 Cambiado: Se emite un error de nivel E_WARNING si al sobrecargar un método mágico se le declara como estático. Además, hace necesario que tenga visibilidad pública.
5.3.0 Cambiado: Antes de 5.3.0, las excepciones lanzadas en la función __autoload() no podían capturarse en el bloque catch, y provocaban un error fatal. Ahora, las excepciones lanzadas dentro de la función __autoload pueden capturarse en el bloque catch, con una única salvedad: Si se lanza una excepción definida por el usuario, esta excepción debería estar disponible. Se puede utilizar recursivamente la función __autoload para cargar automáticamente la clase de la excepción definida por el usuario.
5.3.0 Añadido: El método __callStatic.
5.3.0 Añadido: El soporte para heredoc y nowdoc para constantes de clase y definición de propiedades. Nota: los valores heredoc deben seguir las mismas reglas que los string de comillas dobles (p.ej., no contener variables).
5.3.0 Añadido: Enlaces estáticos en tiempo de ejecución.
5.3.0 Añadido: El método __invoke().
5.2.0 Cambiado: Al método __toString() sólo se le invocaba cuando se le combinaba con echo o con print. Pero ahora, se le invoca en cualquier contexto de string (p.ej, en printf() con el modificador %s) pero no en contextos de otro tipo (p.ej. con el modificador %d). Desde PHP 5.2.0, convertir objetos a string sin el método __toString emitirá un error de nivel E_RECOVERABLE_ERROR.
5.1.3 Cambiado: En versiones anteriores de PHP 5, se consideraba obsoleto el uso de var y emitía un error de nivel E_STRICT. Ya no está obsoleto, y por tanto no emite el error.
5.1.0 Cambiado: Ahora se invoca al método estático __set_state() en las clases exportadas por var_export().
5.1.0 Añadido: Los métodos __isset() y __unset().

add a note add a note

User Contributed Notes 1 note

up
0
Anonymous
22 days ago
> 5.5.0     Added: finally to handle exceptions.
Why it's mentioned here? There is separate section about Exceptions.
To Top