Orientação a Objetos em PHP

Como você já sabe, PHP é uma linguagem do lado do servidor, muito utilizada no desenvolvimento de aplicações web. No entanto, o conceito Orientação a Objetos em PHP pode ainda causar um certa dificuldade, principalmente para quem sempre desenvolveu sistemas no estilo procedural.

Como veremos neste artigo, programação orientada a objetos pode te ajudar a construir sistemas complexos com mais facilidade, com código reutilizável e melhor manutenção.

Neste artigo, vou definir o que é programação orientada a objetos (POO) e te mostrar que é possível desenvolver sistemas com menos complexidade no PHP.

O que é orientação a objetos?

A programação orientada a objetos é baseada no mundo real, com seus processos e objetos. E principalmente, com a interação e comunicação entre estes artefatos.

O conceito de classes e objetos, que são tão presentes dentro da orientação a objetos, é fundamental para o entendimento dessa abordagem. Veja alguns dos benefícios da utilização da orientação a objetos em projetos de software:

  • Projeto mais simples de software
  • Produtividade
  • Fácil de testar, debugar e realizar manuteção
  • Reutilizável
  • Menor custo de desenvolvimento
  • Compartilhável (classes podem ser distribuídas em outros sistemas)

Conceitos principais da Orientação a Objetos

Antes de começarmos a falar sobre orientação a objetos, é necessário que você entenda os principais conceitos deste estilo.

Classes

No mundo real, objetos tem características e comportamentos. Por exemplo, um animal possui cor, peso, raça e se alimentam de alimentos diferentes. Da mesma forma, temos na programação a objetos.

Objetos

Objetos são instâncias das classes. Se nós temos uma classe Gato, podemos instancia-la e adicionar propriedades únicas para este animal.

Propriedades

Na terminologia da orientação a objetos, temos características que são conhecidas como propriedades. São similares a variáveis.

Novamente, no exemplo da classe Gato. Podemos ter propriedades como cor de pêlo, nome, peso entre outras características.

Métodos

Métodos são comportamentos. Ou seja, são ações que nosso objeto terá quando sua classe for instanciada. No PHP, você define métodos usando a palavra reservada function.

Criando classes e objetos em PHP

Agora que nós conhecemos a teoria, vamos começar a desenvolver e aplicar os conhecimentos, certo? Criar classes em PHP é bastante fácil. Para criar uma classe, basta utilizar a palavra chave class. Veja o exemplo abaixo.

// Definição da classe Gato
class Gato {
    // Corpo da classe aquil
}

O código acima apenas cria uma classe Gato.

Dica: No PHP, é comum usarmos a nomenclatura com o primeiro caractere maiúsculo. Não causará
nenhum erro caso você não obedeça essa nomenclatura. É apenas usada como padronização.

Com a classe definida, nós já podemos criar nosso primeiro objeto.

$objGato = new Gato();

Criando propriedades

Agora que criamos nossa classe, vamos começar adicionando um aspecto importante, que é a inclusão de propriedades.

Para adicionar uma propriedade, você primeiro deve escrever a palavra reservada public, private ou protected.

class Gato {
    public $nome;
    public $sexo;
    public $peso;
}

Nós também podemos inicializar essa propriedades quando declaramos. Por exemplo:

class Gato {
    public $peso = 0;
}

Neste caso, todos os objetos criados a partir da classe Gato, terão a propriedade peso com o valor atribuído 0. Nós podemos acessar esse valor através da seguinte sintaxe.

$objeto->propriedade