interface Anahtar Kelimesi
interface anahtar kelimesi, bir sınıfın uygulaması gereken metodları tanımlayan özel yapılar olan arayüzleri oluşturmak için kullanılır. Arayüzler, yalnızca uygulama içermeyen metod bildirimleri içerir. Bir arayüzü uygulayan sınıf, arayüzde bildirilen tüm metodları içermelidir.
Sözdizimi
interface InterfaceName {
public function method1();
public function method2($param);
// ...
}
Örnek
Basit bir arayüz ve onu uygulayan bir sınıf oluşturalım:
<?php
interface Logger {
public function log($message);
}
class FileLogger implements Logger {
public function log($message) {
echo "Dosyaya loglama: " . $message;
}
}
$logger = new FileLogger();
$logger->log("Test mesajı");
?>
Kodun çalıştırılma sonucu:
'Dosyaya loglama: Test mesajı'
Örnek
Bir arayüz birkaç metod içerebilir ve sınıf hepsini uygulamalıdır:
<?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 "Alan: " . $circle->calculateArea();
?>
Kodun çalıştırılma sonucu:
'Alan: 78.5'