Log de modificações da POO

As Modificações ao modelo de POO do PHP 5 são logados aqui. Descrições e outras notas sobre estes recursos são documentados na documentação da POO 5.

Versão Descrição
5.5.0 Adicionado: finally para manipular exceções.
5.4.0 Adicionado: traits.
5.4.0 Modificado: Se uma classe abstrata define uma assinatura para o construtor, agora se tornará obrigatório.
5.3.3 Modificado: Métodos com o mesmo nome que o último elemento de uma classe com namespace não serão mais tratados como um construtor. Esta modificação não afeta classes sem namespace.
5.3.0 Modificado: Classes que implementam interfaces com métodos que possuem valores padrões em seus protótipos, não são mais obrigadas a seguir os valores padrões das interfaces.
5.3.0 Modificado: É possível agora referenciar classes utilizando uma variável (por exemplo, echo $classname::constant;). O valor da variável não pode ser uma palavra-chave (por exemplo, self, parent or static).
5.3.0 Modificado: Um erro de nível E_WARNING será emitido se os métodos mágicos de sobrecarga forem declarados como estáticos. Também força a exigência da visibilidade pública.
5.3.0 Modificado: Em versões anteriores ao PHP 5.3.0, exceções disparadas na função __autoload() não podem ser capturadas no bloco catch, e resultarão em um erro fatal. Agora, exceções lançadas na função __autoload podem ser capturadas no bloco catch, com uma condição. Se estiver disparando uma exceção customizada, a classe de customização da exceção deve estar disponível. A função __autoload pode ser usado recursivamente para carregar automaticamente a classe de customização de exceção.
5.3.0 Adicionado: O método __callStatic.
5.3.0 Adicionado: Suporte ao heredoc e nowdoc nas definições de constantes e propriedades. Nota: valores heredoc devem seguir a mesma regra que strings com aspas duplas (e.g., sem variáveis dentro).
5.3.0 Adicionado: Late Static Bindings.
5.3.0 Adicionado: O método __invoke().
5.2.0 Modificado: O método __toString() era chamado somente quando combinada diretamente com echo or print. Agora, é chamado em qualquer contexto de string (isto é, na função ) printf() com o modificador %s) Desde o PHP 5.2.0, converter objetos que não possuem o método __toString para string emitirá um erro de nível E_RECOVERABLE_ERROR.
5.1.3 Modificado: Em versões anteriores do PHP 5, o uso de var era considerado obsoleto e emitirá um erro de nível E_STRICT. Não é mais obsoleto, portanto não emite o erro.
5.1.0 Modificado: O método estático __set_state() agora é chamado por classes exportadas com a função var_export().
5.1.0 Adicionado: Os métodos __isset() e __unset().

add a note add a note

User Contributed Notes 2 notes

up
5
Rasmus Schultz (mindplay.dk)
10 months ago
The change list neglects to mention the addition of the magic ::class constant, e.g. ClassName::class magically evaluates as "ClassName", without triggering autoloading of that class. This feature was added in PHP 5.5.
up
0
love at sickpeople dot se
3 months ago
The magic __debugInfo() was introduced in PHP 5.6.0. Not on the list.
To Top