PHP class: Por que classes são essenciais na programação orientada a objetos

Classes em PHP (PHP classes) estruturam códigos ao configurar modelos lógicos e independentes, e atribuir propriedades e métodos específicos a cada um deles. Assim, classes possibilitam a reutilização de trechos de códigos, o que torna a gestão de aplicações bem mais fácil e flexível.

O que é PHP class?

PHP class, ou classe em PHP, é um tipo de estrutura (modelo) que define características e comportamentos de um objeto a ser criado. Elas definem, portanto, as propriedades (variáveis ou atributos) e os métodos (funções) de um objeto. Em PHP, classes são parte essencial da programação orientada a objetos (OOP). Use-as, por exemplo, combinadas a funções PHP ou crie classes para recuperar informações de um banco de dados MySQL/MariaDB com PHP.

Dica

O Deploy Now da IONOS é uma solução de hospedagem para aplicações de última geração. Beneficie-se de altos níveis de confiabilidade, e de amplos e variados recursos de automação, que darão o máximo de suporte aos seus projetos.

Como definir uma classe em PHP

Para definir uma classe em PHP, comece escrevendo a palavra-chave class, que deve ser seguida do respectivo nome e de colchetes. Adicione, dentro dos colchetes, as propriedades e os métodos da classe, como mostra o código abaixo:

class Name { 
    // php class example properties and methods 
}
php

Observe, agora, um exemplo concreto:

class Animal { 
  // Properties 
  public $name; 
  public $color; 
 
  // Methods 
  function set_name($name) { 
    $this->name = $name; 
  } 
  function get_name() { 
    return $this->name; 
  } 
}
php

Acima, a classe “Animal” tem duas propriedades: “name” e “color”. Da mesma forma, ela possui dois métodos: “set_name” para definir o nome e “get_name” para recuperar o nome.

Dica

Quer aprender mais sobre programação em PHP? Então consulte o tutorial PHP para iniciantes do nosso Digital Guide. Entenda, também, como linguagens de programação se diferem acompanhando as nossas comparações PHP vs. Python e PHP vs. JavaScript.

API IONOS grátis
Atualização de domínio, DNS, SSL, configurações e mais com a API da IONOS.
  • Gerenciamento DNS
  • Admin SSL fácil
  • Documentação API

Diferença entre objeto e classe em PHP

Um objeto é uma instância de uma classe, fazendo parte dela. Quando você cria uma instância de classe, você obtém um objeto específico, capaz de usar as propriedades e os métodos definidos para a classe. Crie um objeto para uma classe por meio da palavra-chave new.

class Animal { 
  // Properties 
  public $name; 
  public $color; 
 
  // Methods 
  function set_name($name) { 
    $this->name = $name; 
  } 
  function get_name() { 
    return $this->name; 
  } 
} 
 
$dog = new Animal(); 
$cat = new Animal(); 
$dog->set_name('Tom'); 
$cat->set_name('Mickey'); 
 
echo $dog->get_name(); 
echo "<br>"; 
echo $cat->get_name();
php

No exemplo, “dog” e “cat” são instâncias da classe “Animal”. À cada instância, atribuímos um nome.

Em PHP, classes também podem ser herdadas. Isso quer dizer que você pode derivar uma classe existente para a definição de uma nova classe. A classe derivada herdará as propriedades e os métodos da classe original, que pode ser abstrata (PHP abstract class). Faça isso para reutilizar e estender funções. Objetos de classes derivadas também constituem instâncias da classe original, podendo, então, utilizar os mesmos métodos. O exemplo esclarece:

class Mammal extends Animal { 
function breathesAir() { 
      echo "inhale"; 
    } 
} 
 
$horse = new Mammal; 
$horse->setName("Louis");
php

Observe que com a palavra-chave extends, a classe “Mammal” herda todas as propriedades e métodos da superclasse “Animal”. Também é possível adicionar uma nova função à classe “Mammal”, assim como acessar as funções herdadas.

PHP class: Exemplos de uso

Classes em PHP são extremamente versáveis, como mostrarão os exemplos práticos a seguir.

PHP instanceof

Em PHP, instanceof é o operador usado para verificar se um objeto pertence a uma classe original ou a uma classe derivada, como exemplifica o código abaixo:

class Animal { 
    public function speak() { 
        echo "sound"; 
    } 
} 
 
class Dog extends Animal { 
    public function speak() { 
        echo "bark"; 
    } 
} 
 
$animal = new Dog(); 
 
if ($animal instanceof Animal) { 
    $animal->speak(); // Output: "bark" 
}
php

Primeiramente, fizemos uso de instanceof para verificar se $animal é uma instância da classe “Animal” ou de uma de suas classes derivadas. Descobrimos, então, que $animal é uma instância da classe derivada “Dog” (herdada de “Animal”). Assim, a condição é atendida e o código do bloco “if” é executado.

O operador instanceof pode ser útil em situações nas quais é preciso garantir acessos a determinados métodos ou propriedades, ao mesmo tempo em que se tenta evitar a ocorrência de erros, caso o objeto não possua a classe esperada.

Arrays e classes em PHP

Classes podem ser armazenadas em arrays PHP para o desenvolvimento de estruturas de dados complexas:

class Product { 
    public $name; 
    public $price; 
 
    public function __construct($name, $price) { 
        $this->name = $name; 
        $this->price = $price; 
    } 
} 
 
$products = [ 
    new Product("Laptop", 800), 
    new Product("Smartphone", 400), 
    new Product("Tablet", 300) 
]; 
 
foreach ($products as $product) { 
    echo "Product: " . $product->name . ", Price: $" . $product->price . "<br>"; 
}
php

No código acima, definimos a classe “Product”, para que esta represente diferentes produtos, e armazenamo-la no array “products”. Assim, podemos percorrer o array com loops PHP, como o foreach construct, para configurarmos a apresentação de nomes de produtos com os respectivos preços.

PHP class constructor

Constructor é um método especial dentro de uma classe, que é automaticamente chamado no momento da criação de um objeto. A finalidade do PHP class constructor é inicializar os primeiros estados de um objeto ou desempenhar as atividades preparatórias necessárias para que o objeto funcione corretamente. Entenda:

class Dog { 
    private $name; 
    private $color; 
 
    // Constructor 
    public function __construct($name, $color) { 
        $this->name = $name; 
        $this->color = $color; 
    } 
 
    public function sayHello() { 
        return "Hello, my name is {$this->name} and my color is {$this->color}."; 
    } 
} 
 
$dog = new Dog("Tom", "brown"); 
 
echo $dog->sayHello(); // Output: "Hello, my name is Tom and my color is brown."
php
Object Storage da IONOS
É ideal para backups, assim como para arquivar dados corporativos.

Você pode armazenar qualquer quantidade de dados estáticos por preços acessíveis.

Este artigo foi útil?
Para melhorar a sua experiência, este site usa cookies. Ao acessar o nosso site, você concorda com nosso uso de cookies. Mais informações
Page top