O propósito desta extensão é permitir a sobrecarga 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() e __call() respectivamente para leitura/escrita das propriedades, ou chamar um metodo. Desta forma a sobrecarga pode ser seletiva: Dentro destas funções a sobrecarga é desabilitada de forma que você possa acessar propriedades do objeto normalmente.
Atenção |
Este módulo é EXPERIMENTAL. Isso quer dizer que o comportamento neste módulo --- incluindo suas funções e seus nomes, e TUDO mais que está documentado sobre esse módulo --- poderá 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. |
In order to use these functions, you must compile PHP with the --enable-overload option. Starting with PHP 4.3.0 this extension is enabled by default. You can disable overload support with --disable--overload.
A versão para Windows do PHP tem suporte embutido para esta extensão. Você não precisa carregar nenhuma extensão adicional para utilizar essas funções.
Nota: Builtin support for overload is available with PHP 4.3.0.
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 a sobrecaraga das operações get e set para propriedades. Você não pode invocar as chamadas originais da classe e __set() somente funciona até um nível de acesso de propriedades. |