Le mot-clé interface
Le mot-clé interface est utilisé pour créer des interfaces - des constructions spéciales qui définissent quelles méthodes une classe doit implémenter. Les interfaces contiennent uniquement des déclarations de méthodes sans leur implémentation. Une classe qui implémente une interface doit contenir toutes les méthodes déclarées dans l'interface.
Syntaxe
interface InterfaceName {
public function method1();
public function method2($param);
// ...
}
Exemple
Créons une interface simple et une classe qui l'implémente :
<?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");
?>
Résultat de l'exécution du code :
'Logging to file: Test message'
Exemple
Une interface peut contenir plusieurs méthodes, et une classe doit toutes les implémenter :
<?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();
?>
Résultat de l'exécution du code :
'Area: 78.5'