Este artigo vem a complementar um outro que escrevi sobre orientação a objeto nos moldes do PHP4. Dessa vez venho trazendo o que houve de mudanças para o PHP5 com duas classes que exemplificam bem essas mudanças.
Pois é, muita gente não conhece mesmo. Mas não são nada mais que métodos que criamos para manipular (atribuir ou obter valores) os atributos privados ou protegidos pelas palavras reservadas de visibilidade (private e/ou protected, respectivamente).
Como funciona isso?
É simples. É assim: Você tem um atributo privado e quer atribuir um valor a ele dinamicamente, suponhamos. Cria-se então um método:
setNomeDoAtributo($v)
e dentro dela se atribui o valor ao atributo
($this->nomeDoAtributo = $v).
E para resgatar esse valor de atributo cria-se um método getNomeDoAtributo e, dentro dele, faz-se o retorno do valor do atributo
(return $this->nomeDoAtributo).
Pronto! É assim que funciona. Agora vejamos como usar o que já foi falado aqui!
[1] Comentário enviado por removido em 18/08/2006 - 08:58h
Parabéns collapse pelo artigo bem explicado...
Acredito que ajudará iniciantes, e aqueles que ainda têm medo de migrar para o PHP5, a utillizarem cada vez mais essa versão...
E tomara que muita coisa melhore nas próximas versões do PHP. Como a manipulação de eventos (dito por você), e tipagem forte de atributos/métodos...
Uma outra funcionalidade que acho interessante seria a possibilidade de se criar propriedades, como o C# (DotNet).
[2] Comentário enviado por F4xl em 19/08/2006 - 01:07h
Muito bom o artigo, Evaldo!
Principalmente para quem está iniciando os estudos em PHP. Um comentário que eu gostaria de ler aqui é sobre como o PHP vai se comportar no mercado concorrendo com a plataforma .NET da Microsoft, uma vez que todos parecem querer migrar para ela.
[3] Comentário enviado por evandrofisico em 19/08/2006 - 20:52h
Para fazer um destructor em php4 é necessária uma pequena gambiarra, colocando dentro da funcao constructor um register_shutdown_function(array(&$this, 'quit'))
onde quit é o nome da funcao a ser executada antes do fim do script