PHP Eğitimi

PHP ANA SAYFA PHP'ye Giriş PHP Kurulumu PHP Sözdizimi PHP Yorumları PHP Değişkenleri PHP Yankı / Yazdır PHP Veri Türleri PHP Dizeleri PHP Numaraları PHP Matematik PHP Sabitleri PHP Operatörleri PHP If...Else...Elseif PHP Anahtarı PHP Döngüleri PHP Fonksiyonları PHP Dizileri PHP Süper Küreseller PHP Normal İfade

PHP Formları

PHP Form İşleme PHP Form Doğrulama PHP Formu Gerekli PHP Formu URL/E-posta PHP Formu Tamamlandı

PHP Gelişmiş

PHP Tarih ve Saat PHP Dahil PHP Dosya İşleme PHP Dosyası Aç/Oku PHP Dosyası Oluştur/Yaz PHP Dosya Yükleme PHP Çerezleri PHP Oturumları PHP Filtreleri PHP Filtreleri Gelişmiş PHP Geri Çağırma İşlevleri PHP JSON'u PHP İstisnaları

PHP OOP

PHP OOP nedir PHP Sınıfları/Nesneleri PHP Oluşturucu PHP Yıkıcı PHP Erişim Değiştiricileri PHP Kalıtımı PHP Sabitleri PHP Soyut Sınıfları PHP Arayüzleri PHP Özellikleri PHP Statik Yöntemler PHP Statik Özellikler PHP Ad Alanları PHP Yinelenebilirler

MySQL Veritabanı

MySQL Veritabanı MySQL Bağlantısı MySQL Veritabanı Oluştur MySQL Tablo Oluştur MySQL Veri Ekle MySQL Son Kimliği Al MySQL Ekle Çoklu MySQL Hazırlandı MySQL Seçim Verisi MySQL Nerede MySQL Sıralaması MySQL Verileri Sil MySQL Güncelleme Verileri MySQL Sınır Verileri

PHP XML'i

PHP XML Ayrıştırıcıları PHP SimpleXML Ayrıştırıcı PHP SimpleXML - Al PHP XML Expat'ı PHP XML DOM'si

PHP - AJAX

AJAX'a Giriş AJAX PHP AJAX Veritabanı AJAX XML'i AJAX Canlı Arama AJAX Anketi

PHP Örnekleri

PHP Örnekleri PHP Derleyici PHP Testi PHP Alıştırmaları PHP Sertifikası

PHP Referansı

PHP'ye Genel Bakış PHP Dizisi PHP Takvimi PHP Tarihi PHP Dizini PHP Hatası PHP İstisnası PHP Dosya Sistemi PHP Filtresi PHP FTP'si PHP JSON'u PHP Anahtar Kelimeler PHP Libxml PHP Postası PHP Matematik PHP Çeşitli PHP MySQLi PHP Ağı PHP Çıkış Kontrolü PHP Normal İfade PHP SimpleXML PHP Akışı PHP Dizisi PHP Değişken İşleme PHP XML Ayrıştırıcı PHP Posta Kodu PHP Saat Dilimleri

PHP OOP - Arayüzler


PHP - Arayüzler nedir?

Arabirimler, bir sınıfın hangi yöntemleri uygulaması gerektiğini belirlemenize olanak tanır.

Arayüzler, çeşitli farklı sınıfları aynı şekilde kullanmayı kolaylaştırır. Bir veya daha fazla sınıf aynı arabirimi kullandığında buna "polimorfizm" denir.

Arayüzler interfaceanahtar kelime ile bildirilir:

Sözdizimi

<?php
interface InterfaceName {
  public function someMethod1();
  public function someMethod2($name, $color);
  public function someMethod3() : string;
}
?>

PHP - Arayüzler ve Soyut Sınıflar

Arayüz soyut sınıflara benzer. Arayüzler ve soyut sınıflar arasındaki farklar şunlardır:

  • Arabirimler özelliklere sahip olamazken, soyut sınıflar
  • Soyut sınıf yöntemleri genel veya korumalı iken tüm arabirim yöntemleri genel olmalıdır.
  • Bir arabirimdeki tüm yöntemler soyuttur, bu nedenle kodda uygulanamazlar ve soyut anahtar kelime gerekli değildir.
  • Sınıflar, aynı anda başka bir sınıftan miras alırken bir arabirim uygulayabilir

PHP - Arayüzleri Kullanma

Bir arabirim uygulamak için, bir sınıf implementsanahtar kelimeyi kullanmalıdır.

Bir arabirim uygulayan bir sınıf, arabirimin tüm yöntemlerini uygulamalıdır.

Örnek

<?php
interface Animal {
  public function makeSound();
}

class Cat implements Animal {
  public function makeSound() {
    echo "Meow";
  }
}

$animal = new Cat();
$animal->makeSound();
?>

Yukarıdaki örnekten yola çıkarak, bir grup hayvanı yöneten bir yazılım yazmak istediğimizi varsayalım. Tüm hayvanların yapabileceği eylemler vardır, ancak her hayvan bunu kendi tarzında yapar.

Arayüzleri kullanarak, her hayvan farklı davransa bile tüm hayvanlar için çalışabilecek bazı kodlar yazabiliriz:

Örnek

<?php
// Interface definition
interface Animal {
  public function makeSound();
}

// Class definitions
class Cat implements Animal {
  public function makeSound() {
    echo " Meow ";
  }
}

class Dog implements Animal {
  public function makeSound() {
    echo " Bark ";
  }
}

class Mouse implements Animal {
  public function makeSound() {
    echo " Squeak ";
  }
}

// Create a list of animals
$cat = new Cat();
$dog = new Dog();
$mouse = new Mouse();
$animals = array($cat, $dog, $mouse);

// Tell the animals to make a sound
foreach($animals as $animal) {
  $animal->makeSound();
}
?>

Örnek Açıklama

Cat, Dog ve Mouse, Animal arabirimini uygulayan sınıflardır; bu, hepsinin makeSound()yöntemi kullanarak ses çıkarabileceği anlamına gelir. Bu nedenle, her birinin ne tür bir hayvan olduğunu bilmesek bile tüm hayvanlar arasında dolaşabilir ve onlara ses çıkarmalarını söyleyebiliriz.

Arayüz sınıflara yöntemin nasıl uygulanacağını söylemediği için her hayvan kendi tarzında ses çıkarabilir.