Atenção |
Este módulo é EXPERIMENTAL. Isso quer dizer que o comportamento destas funções e seus nomes, incluindo TUDO o que está documentado aqui pode mudar em futuras versões do PHP, SEM QUALQUER NOTIFICAÇÃO. Esteja avisado, e use este módulo por sua própria conta e risco. |
O propósito desta extensão é permitir overload de propriedades de acesso e metodos de objetos. Somente uma função é definida nesta extensão, overload() que recebe o nome da classe que deve ter esta funcionalidade habilitada. A classe especificada tem que definir os metodos para ter esta funcionalidade: __get(), __set() and __call() respectivamente para get/set as propriedades, ou chamar um metodo. Desta forma o overloading pode ser seletivo. Dentro destas funções o overloading é disabilitado de forma que você possa acessar propriedades do objeto normalmente.
Alguns exemplos simples da utilização da função overload()
Atenção |
Como esta é uma extensão experimental, nem todas as coisas funcionam. Não existe ainda suporte para __call() e você somente pode fazer overload das operações get e set para propriedades. Você não pode invocar as chamadas originais da classe (antes de terem sido overloaded), e __set() somente funciona até um nível de acesso de propriedades. |