Introdução ao PHP orientado a objeto
PHP - um acrônimo recursivo para "PHP: Hypertext Preprocessor", originalmente Personal Home Page - é uma linguagem originalmente construída para construção de páginas WEB dinâmicas. Com o tempo, houve uma evolução, outras linguagens surgiram com o mesmo objetivo, ASP, JSP, entre outros. Algumas inclusive unindo as capacidades de suas plataformas mãe, igual o JSP que faz parte do Java e faz uso massivo de objetos. A Microsoft ainda evoluiu toda a sua plataforma para algo semelhante ao Java, houve a necessidade do PHP também evoluir.
Agora ele é capaz de realizar coisas semelhantes as outras plataformas, de modo que a escolha entre as várias tecnologias acaba que recai principalmente na experiência da equipe, pois os mesmos resultados podem ser obtidos. E a orientação a objetos não ficou atrás.
- Exemplo de objeto PHP:
PHPTestes | |_index.php |_Teste.php |
Note que a estrutura do site de teste, é uma página principal e uma classe Teste.
- Código da classe Teste:
<?php class Teste { //put your code here private $nome; private $endereco; public function getNome(){ return $this->nome; } public function setNome($nome){ $this->nome = $nome; } public function getEndereco(){ return $this->endereco; } public function setEndereco($endereco){ $this->endereco = $endereco; } } |
- Explicando os elementos:
- <?php - é o que marca o código PHP do arquivo. Normalmente o código estaria entre <?php ?>. Note que apenas abrimos o código e não fechamos. Haveria necessidade de fechar, se caso houvesse também código HTML.
- class Teste{ - aqui se começa a codificação da classe. Esse nome deve ser o mesmo do arquivo.
- Os atributos são variáveis PHP normais, os nomes são sempre iniciados por $ e não tem tipo definido (por isso PHP é uma linguagem fracamente tipada). São os atributos $nome e $endereco.
- private $nome - um dos atributos da classe. Deve ter a notação private, para sinalizar encapsulamento (garantir que a variável não seja acessada diretamente por qualquer um).
- public function getNome(){ - um dos métodos. De acordo com a notação de uma classe normal, os atributos somente devem ser acessados pelos métodos. Veja que entre { }, tem o código
- return $this->nome; - aqui você está dizendo para retornar por esse método o valor de nome.
- public function setNome($nome){ - através desse método, você pode atribuir um valor ao atributo $nome. Dentro de { } tem o código
- $this->nome = $nome; - sinalizando que o valor da variável $nome é diferente de $this->nome, a primeira é a variável do método, a segunda é o atributo da classe. O valor que será passado para essa variável vai para o atributo $nome.
- IMPORTANTÍSSIMO -$this-> é importante para que você referencie um atributo dentro da classe. Caso contrário, será apenas uma variável qualquer, e nenhum acesso ao atributo.
- A classe em ação:
<?php include 'Teste.php'; ?> <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>Site</title> </head> <body> Over <?php $teste=new Teste(); $teste->setNome('Adamastor Pitaco'); $teste->setEndereco('Rua 8, número 40'); ?> <p><?php echo $teste->getNome(); ?> <br><?php echo $teste->getEndereco(); ?> </body> </html> |
- <?php include 'Teste.php'; ?> - a classe precisa ser incluída no arquivo onde será usada.
- $teste=new Teste(); - e ela deve ser declarada no lugar onde ela será usada, caso contrário, nada de classe.
- $teste->setNome('Adamastor Pitaco'); - exemplo de atribuição de valor.
- <?php echo $teste->getNome(); ?> - exemplo de exibição de valor na página.
- Resultado: ele irá exibir os valores atribuídos a classe. Só testar em um ambiente devidamente preparado.
- Nesse caso, os diversos trechos em PHP estão delimitados pelos sinalizadores <?php e ?>. Porque alternam entre os códigos php e html na página (obviamente pode adicionar JavaScript também).
- Note o encapsulamento usado, pois nenhuma variável PHP foi acessada diretamente, e sim pelos métodos get e set.
Aqui temos um hello world de PHP orientado a objetos.
Comentários
Postar um comentário