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 |
---|---|
7.0.0 | Definir propiedades (compatibles) en dos rasgos («traits») ya no lanza un error. |
5.6.0 | Añadido: El método __debugInfo(). |
5.5.0 | Añadido: La constante mágica ::class. |
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(). |