La palabra clave interface
La palabra clave interface se utiliza para crear interfaces - construcciones especiales que definen qué métodos debe implementar una clase. Las interfaces contienen solo declaraciones de métodos sin su implementación. Una clase que implementa una interfaz debe contener todos los métodos declarados en la interfaz.
Sintaxis
interface InterfaceName {
public function method1();
public function method2($param);
// ...
}
Ejemplo
Creemos una interfaz simple y una clase que la implemente:
<?php
interface Logger {
public function log($message);
}
class FileLogger implements Logger {
public function log($message) {
echo "Logging to file: " . $message;
}
}
$logger = new FileLogger();
$logger->log("Test message");
?>
Resultado de ejecutar el código:
'Logging to file: Test message'
Ejemplo
Una interfaz puede contener varios métodos, y la clase debe implementarlos todos:
<?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 "Area: " . $circle->calculateArea();
?>
Resultado de ejecutar el código:
'Area: 78.5'