Introdução à POO em PHP
Agora vamos estudar POO em PHP. Vamos considerar um exemplo da vida real, e depois transferi-lo para PHP.
Como exemplo, vamos pegar um carro. Ele tem rodas, cor, tipo de carroceria, capacidade do motor e assim por diante. Além disso, o motorista pode dar comandos a ele: andar, parar, virar à direita, à esquerda, etc.
Podemos dizer que existe uma certa classe de carros, possuindo propriedades comuns (todos têm rodas e a todos podem ser dados comandos).
Um carro específico, estacionado na rua - é um representante desta classe, ou, em outras palavras, um objeto desta classe. Todos os objetos desta classe têm propriedades: número de rodas, cor, tipo de carroceria e métodos: andar, parar, virar à direita, à esquerda.
Em outras palavras, a própria classe é um projeto, um plano segundo o qual os carros são feitos na fábrica. O objeto é o próprio carro, feito de acordo com esses planos.
Em PHP, uma classe é criada usando a palavra-chave
class, seguida pelo nome
dessa classe. Vamos criar a classe Car:
<?php
class Car
{
// aqui o código, ou seja, o projeto PHP do carro
}
?>
Vamos especificar agora em nosso projeto que qualquer carro criado a partir deste projeto terá uma propriedade para a cor e uma propriedade para a quantidade de combustível.
Para isso, dentro da classe, vamos escrever a propriedade
$color e a propriedade $fuel:
<?php
class Car
{
// Vamos definir as propriedades (basicamente variáveis da classe):
public $color; // cor do carro
public $fuel; // quantidade de combustível
}
?>
Agora vamos criar os métodos da nossa classe.
Em PHP, os métodos, assim como funções comuns, são declarados
usando a palavra-chave function,
antes da qual é escrita a palavra-chave
public.
Como mencionado acima, nosso carro pode andar, pode virar, pode parar. Vamos criar os métodos correspondentes em nossa classe:
<?php
class Car
{
public $color; // cor do carro
public $fuel; // quantidade de combustível
// Comando para andar:
public function go()
{
// algum código PHP
}
// Comando para virar:
public function turn()
{
// algum código PHP
}
// Comando para parar:
public function stop()
{
// algum código PHP
}
}
?>
Criamos o projeto do nosso carro. Agora precisamos ir para a fábrica e criar um objeto desta classe (ou seja, um carro concreto).
Em PHP, isso é feito usando a palavra-chave
new, após a qual é escrito o nome da classe:
<?php
new Car;
?>
No entanto, se simplesmente criarmos um objeto da classe - isso não levará a nada (é o mesmo que, por exemplo, declarar um array e não atribuí-lo a lugar nenhum). Precisamos de uma variável para armazenar este objeto.
Deixe esta variável chamar-se $myCar
- vamos armazenar nela o objeto que criámos:
<?php
$myCar = new Car;
?>
Após criar o carro, podemos aceder
às suas propriedades. O acesso a elas ocorre
através da seta ->. Vamos definir
as propriedades do nosso objeto:
<?php
$myCar = new Car; // comandamos à fábrica para fazer um carro
// Definimos as propriedades do objeto:
$myCar->color = 'red'; // pintamos de vermelho
$myCar->fuel = 50; // abastecemos com combustível
?>
Pronto, nosso carro foi criado, pintado e abastecido. Agora podemos dar-lhe comandos através dos métodos deste carro.
O acesso aos métodos também ocorre através da seta, mas, ao contrário da propriedade, após o nome do método devem ser escritos parênteses. Vamos dar comandos ao nosso objeto:
<?php
$myCar->go();
$myCar->turn();
$myCar->stop();
?>