Php5, orientação a objetos e design patterns
Como todos sabem, o PHP é uma linguagem de Script consistente e flexível, com diversas extensões, performance superior e uma grande comunidade. Criada por Rasmus Lerdorf em 1995. Apartir de 1997 o core do PHP foi reescrito por Zeev Suravski e Andi Gutmans, formando o que conhecemos hoje por Zend Engine. Na Versão 5 do PHP o core Zend Engine atinge a versão 2.0, possibilitando novos recursos que veremos neste artigo. PS: Este artigo é destinado a quem já possui conhecimentos razoáveis em orientação a objetos. Não entrando em muitos detalhes conceituais.
PHP5, Orientação a Objetos e Design Patterns, por Pablo Dall'Oglio (pablo@php.net) – Maio 2004
1
Passagem de parâmetros
No exemplo a seguir, criaremos uma classe chamada Automovel com 2 métodos, setNome (para alterar o nome do automóvel) e getNome (para obter o nome do automóvel) e uma função chamada alterar (que recebe um objeto do tipo Automovel como parâmetro) e cuja função é alterar o nome do Automóvel para 'Gol'. O Objeto é inicializado com o nome 'Pálio', logo em seguida é chamada a função alterar($meucarro), que altera o nome do carro para 'Gol'. O PHP4, não passaria a referência do objeto como parâmetro (by reference). Assim, o que era passado para a função era uma cópia do objeto (by value)... A função “ alterar” trabalhava sobre uma cópia do objeto e externamente à função nada acontecia, como resultado deste programa teríamos: Palio A não ser que utilizássemos o operador “ &” na frente do parâmetro da função, forçando a passagem de parâmetro by reference e obtendo como resultado da função o seguinte: Gol Já no PHP5, por padrão, o