Aprenda a utilizar getters e setters em PHP para proteger atributos

Veja como os getters e setters em PHP ajudam no encapsulamento e protegem os atributos de classes.

Como usar getters e setters em PHP?

Os getters e setters são métodos utilizados na programação orientada a objetos (OOP) para acessar e modificar propriedades privadas de uma classe, garantindo um controle maior sobre os dados armazenados.

Criando Getters e Setters em PHP

<?php
class Pessoa {
    private $nome;
    private $idade;

    public function setNome($nome) {
        $this->nome = $nome;
    }

    public function getNome() {
        return $this->nome;
    }

    public function setIdade($idade) {
        if ($idade > 0) {
            $this->idade = $idade;
        }
    }

    public function getIdade() {
        return $this->idade;
    }
}
?>

Acessando Propriedades com Getters e Setters

<?php
$pessoa = new Pessoa();
$pessoa->setNome("Carlos");
$pessoa->setIdade(25);

echo "Nome: " . $pessoa->getNome() . "\n";
echo "Idade: " . $pessoa->getIdade();
?>

Explicação do Código

  • As propriedades $nome e $idade são privadas, impedindo acesso direto.
  • setNome() e setIdade() modificam os valores das propriedades.
  • getNome() e getIdade() retornam os valores armazenados.
  • No método setIdade(), adicionamos uma validação, garantindo que a idade não seja negativa.

O uso de getters e setters é essencial para garantir a segurança dos dados dentro de uma classe. Eles evitam acessos diretos às propriedades e permitem validações antes de modificar qualquer valor, garantindo que o código siga regras definidas.

Algumas aplicações:

  • Proteção de dados sensíveis dentro de uma classe
  • Garantia de que valores inválidos não sejam atribuídos
  • Criação de APIs mais seguras e organizadas
  • Facilidade de manutenção e testes em aplicações PHP

Dicas para quem está começando

  • Utilize private para proteger atributos e use getters/setters para acessá-los.
  • Adicione validações dentro dos setters para evitar valores incorretos.
  • Evite criar getters e setters desnecessários se o acesso direto for aceitável.
  • Pense na lógica do negócio antes de definir quais atributos precisam ser protegidos.
  • Experimente combinar getters e setters com métodos mágicos para automatizar acessos.

Contribuições de Daniel Moreira

Compartilhe este tutorial: Como usar getters e setters em PHP?

Compartilhe este tutorial

Continue aprendendo:

O que é encapsulamento em PHP e como aplicá-lo?

Veja o conceito de encapsulamento em PHP e como utilizá-lo para proteger atributos e métodos dentro de uma classe.

Tutorial anterior

Como criar métodos estáticos (static) em PHP?

Veja como definir métodos estáticos em PHP e quando utilizá-los para otimizar o código.

Próximo tutorial