PHP Interface Nedir? Ne İçin Kullanılır? Nasıl Kullanilir?

23 Haziran 2023 112 Okuma süresi: 2 dakika

PHP'de "interface" bir nesne yönelimli programlama (OOP) yapısıdır. Bir arayüz, bir sınıfın belirli bir davranışı uygulayacağı yöntemleri ve özellikleri tanımlar. Bir sınıf, birden fazla arayüzü uygulayabilir ve bu sayede çoklu kalıtım sağlanmış olur.

Bir arayüzün amacı, bir veya daha fazla sınıfın belirli bir davranışı uygulamasını sağlamaktır. Arayüzler, uygulama tasarımında soyutlama ve uyumluluk sağlamak için kullanılır. Arayüzler, bir sınıfın nasıl davranması gerektiğini tanımlar, ancak bu davranışın nasıl gerçekleştirileceğiyle ilgilenmez. Dolayısıyla, bir arayüz, metodların imzalarını ve sınıflar arasında ortak özellikleri tanımlamak için kullanılan sabitleri içerebilir.

PHP'de bir arayüz tanımlamak için "interface" anahtar kelimesini kullanırız. Arayüzler, sınıfların "implements" anahtar kelimesiyle arayüzü uygulamasını sağlar. Bir sınıf, bir arayüzü uyguladığında, arayüzde tanımlanan tüm yöntemleri gerçeklemek zorundadır. Arayüzde tanımlanan bir özelliği kullanabilmek için, sınıfın o özelliği tanımlaması gerekir.

PHP arayüzü örneği:

interface Eklenebilir {
    public function ekle($veri);
}

class Veritabani implements Eklenebilir {
    public function ekle($veri) {
        // Veritabanına veri ekleme işlemi
    }
}

class Dosya implements Eklenebilir {
    public function ekle($veri) {
        // Dosyaya veri ekleme işlemi
    }
}

Yukarıdaki örnekte, "Eklenebilir" adında bir arayüz tanımladık ve içinde "ekle" adında bir yöntem bulunuyor. "Veritabani" ve "Dosya" sınıfları, "Eklenebilir" arayüzünü uygulayan sınıflardır ve "ekle" yöntemini gerçeklemek zorundadırlar. Bu sayede her iki sınıf da farklı bir şekilde veri eklemek için kullanılabilir.

Arayüzler, kodun daha esnek olmasını sağlar, çünkü bir sınıf birden fazla arayüzü uygulayabilir ve bu şekilde farklı amaçlar için kullanılabilir. Ayrıca, arayüzler, sınıflar arasında bir sözleşme oluşturur ve daha iyi bir kod organizasyonu ve bakımı sağlar.

Benzer makaleler