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.
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
}
phpObserve, 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;
}
}
phpAcima, 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.
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.
- 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();
phpNo 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");
phpObserve 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"
}
phpPrimeiramente, 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>";
}
phpNo 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."
phpVocê pode armazenar qualquer quantidade de dados estáticos por preços acessíveis.