A palavra-chave interface
A palavra-chave interface é usada para criar interfaces - construções especiais que definem quais métodos uma classe deve implementar. Interfaces contêm apenas declarações de métodos sem suas implementações. Uma classe que implementa uma interface deve conter todos os métodos declarados na interface.
Sintaxe
interface InterfaceName {
public function method1();
public function method2($param);
// ...
}
Exemplo
Vamos criar uma interface simples e uma classe que a implementa:
<?php
interface Logger {
public function log($message);
}
class FileLogger implements Logger {
public function log($message) {
echo "Registrando no arquivo: " . $message;
}
}
$logger = new FileLogger();
$logger->log("Mensagem de teste");
?>
Resultado da execução do código:
'Registrando no arquivo: Mensagem de teste'
Exemplo
Uma interface pode conter vários métodos, e a classe deve implementar todos eles:
<?php
interface Shape {
public function calculateArea();
public function calculatePerimeter();
}
class Circle implements Shape {
private $radius;
public function __construct($radius) {
$this->radius = $radius;
}
public function calculateArea() {
return 3.14 * $this->radius * $this->radius;
}
public function calculatePerimeter() {
return 2 * 3.14 * $this->radius;
}
}
$circle = new Circle(5);
echo "Área: " . $circle->calculateArea();
?>
Resultado da execução do código:
'Área: 78.5'