PHP OOP Nedir?

PHP OOP Nedir?

PHP OOP Nedir? veya PHP Nesneye Yönelimli Programlama Nedir? başlığı altında, bu yazıda PHP'nin Nesneye Yönelimli Programlama konusu hakkında kapsamlı bilgi bulabilirsiniz PHP kodlama dilinde nesne yönelimli yapının nasıl kullanıldığına dair detayları öğrenebilir ve web geliştirmede nasıl kullanabileceğinize dair ipuçları alabilirsiniz Hızlı ve pratik bir öğrenme süreci için buraya tıklayın!

PHP OOP Nedir?

PHP, web geliştirme alanında oldukça kullanılan bir programlama dilidir. Bu dilde, OOP (Nesne Yönelimli Programlama) kavramları oldukça önemlidir. OOP, kodlama yolu olarak kullanılan bir paradigmadır. Bu paradigma, programlamada kullanılan verilerin, bunların işlevlerinin ve yöntemlerinin bir arada bir nesnede bulunmasına dayanır.

PHP OOP, programlama dünyasında oldukça popüler bir konudur. Sınıf, Nesne, Kalıtım, Kapsülleme ve Polimorfizm gibi temel OOP kavramları PHP içinde rahatlıkla kullanılabilir ve uygulanabilir. Sınıf, Nesne ve diğer temel kavramları anlamadan, OOP hakkında tam bir fikir sahibi olmak zordur.

Sınıf, bir nesnenin özelliklerinin ve metotlarının tanımlandığı bir taslağı ifade eder. Sınıf, bir şablon oluşturarak sınıf özellikleri ve metodları içinde barındırır. Bir nesne, belirtilen bir sınıfın bir örneğidir. Nesne, sınıfın özelliklerinin ve metotlarının kullanıldığı kod parçalarıdır.

OOP'nin avantajları, kodun daha anlaşılır ve yeniden kullanılabilir olmasıdır. Ayrıca kodun yanlış anlaşılması da azaldığı için hata bulma ve düzeltme sürecinde de zaman kazandırır. Bu avantajlar nedeniyle PHP OOP, web geliştirme çalışmalarında sıkça kullanılan bir yöntemdir.

Bu nedenle, PHP OOP konusunda temel kavramları ve örnek kodları anlamak, web geliştirme için temel bir ihtiyaçtır. Sınıf, Nesne ve diğer temel kavramların özgürlüğü, performansı ve anlaşılabilirliği etkileyerek, programlama sürecini daha da optimize eder.


Temel OOP Kavramları

OOP, PHP dilinde son yıllarda çok sık kullanılan bir programlama metodudur. OOP'nin temel kavramları şunlardır:

  • Sınıf: Bir nesneyi tanımlamak için kullanılan bir kalıptır. İçinde özellikler ve metotlar barındırır.
  • Nesne: Sınıfın örneğidir. Yani, bir sınıftan türetilen özellikleri ve metotları taşıyan herhangi bir örnektir.
  • Kalıtım: Bir sınıfın özelliklerini ve metotlarını diğer sınıflara aktarma işlemidir. Bu sayede tekrarlayan kod blokları ortadan kalkar ve kod tekrarı azalır.
  • Kapsülleme: Sınıfın dışındaki kodların sınıfın içindeki özellikleri ve metotları etkilemesinin önüne geçme işlemidir. Bu sayede veri bütünlüğü sağlanır ve program daha güvenli hale gelir.
  • Polimorfizm: Nesnelerin aynı işlevi farklı şekillerde yerine getirme özelliğidir. Yani, bir metotun aynı zamanda farklı şekillerde çalışabilmesidir.

Yukarıda belirtilen temel OOP kavramları, OOP'nin daha detaylı kavramlarından sadece birkaçıdır. Bunları öğrenmek, PHP programlama dili kullanıcıları için oldukça önemlidir. Ayrıca, bu kavramların iyi anlaşılması, PHP dilindeki programlama projelerinde başarılı olmak için gereklidir.


Sınıf Nedir?

Sınıf kavramı, PHP OOP programlama dilinde temel bir kavramdır ve objelerin oluşturulmasını mümkün kılar. Sınıflar, programcıların objelerin niteliklerini ve davranışlarını tanımlamasına olanak tanır. Bu da, programlarınızı daha okunaklı, düzenli ve yeniden kullanılabilir hale getirir.

Bir sınıf, nesnelere benzer şekilde özellikler ve metodlar aracılığıyla programlama mantığına aktarılabilir. Sınıf özellikleri, sınıfın nesnelerinin ortak özellikleridir. Bu özellikler objeleri birbirinden ayırır. Sınıfın özellikleri, public (herkesin erişebildiği), private (sınıf içerisinde kullanıma açık) ve protected (sınıfın belli bir kısmında kullanılabilen) olarak tanımlanabilir.

Sınıf metodları ise sınıfların davranışlarını belirler. Bu metodlar, nesnelerin verilerini alabilir veya ayarlayabilir, işlemleri gerçekleştirebilir veya nesneleri diğer objeler ile etkileştirebilir. Sınıf içerisinde tanımlanan metodlar, objelerin oluşturulması sırasında aktarılır ve nesneler tarafından çağrılabilir.

Sınıfların kullanımı sayesinde kod tekrarını önlemek, kodları daha okunaklı ve daha yönetilebilir hale getirmek mümkündür. Bu özellikler sayesinde programcılar, sınıflar oluşturarak zaman ve kaynak tasarrufu yapabilirler.


Sınıf Özellikleri

PHP OOP ile ilgili temel kavramları öğrendiğimizden sonra, şimdi de sınıf özellikleri hakkında konuşabiliriz. Sınıf özellikleri, bir sınıf içinde tanımlanan değişkenlere karşılık gelir. Bu özellikler, sınıfın durumunu ve özelliklerini tanımlamak için kullanılır.

Bir sınıfta tanımlanan özellikler, "public", "private" ve "protected" olarak nitelendirilir. "Public" özellikleri, sınıf dışından erişilebilir olup sınıfın içinde veya dışındaki herhangi bir yerde kullanılabilir. "Private" özellikleri, sadece sınıfın içinde erişilebilir ve başka bir yerde kullanılamaz. "Protected" özellikleri ise sadece sınıfın içinde veya alt sınıflarda erişilebilir.

Sınıf özellikleri, sınıfın özelliklerini tanımlamak için kullanılan değişkenlerdir. Bu özellikler, sınıfta tanımlanırken belirli bir veri tipine atanır. Örneğin, "string", "integer" veya "float" gibi veri tipleri özelliklerde kullanılabilir. Sınıf özellikleri, sınıfın başlatılmasında da varsayılan değerlerle belirtilebilir.

Sınıf Özellikleri Örneği
                    class Araba {              public $marka = "Ford";              public $model = "Mustang";              public $yil = 2021;          }                

Yukarıdaki örnekte, "Araba" adında bir sınıf tanımlanmıştır ve sınıfın özellikleri "$marka", "$model" ve "$yil" olarak belirtilmiştir. Bu özelliklere, sınıfın özelliklerine özgü olacak şekilde varsayılan değerler de belirtilmiştir.

Sınıf özellikleri, OOP programlamasında oldukça önemli bir yer tutar. Sınıf özellikleri, nesnelerin özelliklerini tanımlayarak daha düzenli ve anlaşılır bir yapı oluşturur.


Sınıf Metodları

Sınıfların içerisinde yer alan metodlar, nesnenin davranışlarını kontrol etmek için kullanılan özelliklerdir. Sınıfın kullanılacağı projede belirlenmiş olan ihtiyaçlara ve problemlere göre metotlar oluşturulur. Metodlar, bir sınıfın özelliklerini değiştiren fonksiyonlar olarak düşünülebilir.

Sınıf metodları, sınıf içerisinde yer alan fonksiyonlar olarak tanımlanabilir. Sınıfın özelliklerini belirleyen ve bu özellikler üzerinde işlem yaparak sonuçlar elde eden işlevleri ifade ederler. Bu kavramın önemi, sınıfın birçok nesnesiyle aynı metodları kullanarak işleri kolaylaştırmaktır.

Sınıf metodları, özellikle sınıf içerisinde yer alan değişkenleri kullanarak işlem yapmak amacıyla kullanılır. Sınıfın özellikleri dışında işlem yapılacak tüm alanları da kapsayacak şekilde tasarlanabilen bu metodlar, özellikle büyük projelerde işleri kolaylaştırmaktadır.

Metodlar, sınıfın nesneleri için de ayrı cacılabilir. Yani, birden fazla nesnede aynı metot kullanılabilir. Bu sayede kod tekrarlarından kaçınılabilir ve sınıflar daha etkili hale getirilebilir.

Sınıf metodlarının kullanımına örnek olarak, bir hesap makinesi uygulaması yapabiliriz. Bu uygulamada, sınıf içerisinde yer alan fonksiyonlarımızla toplama, çıkarma, çarpma ve bölme işlemlerini gerçekleştirebiliriz. Bu fonksiyonlar ayrı ayrı oluşturulup, ihtiyacımıza göre kullanılabilir.

Aşağıdaki tablo, bir hesap makinesi sınıfımız için oluşturabileceğimiz özellikler ve metodları göstermektedir:

Sınıf Özellikleri Metodlar
Toplama topla(a, b)
Çıkarma çıkar(a, b)
Çarpma çarp(a, b)
Bölme böl(a, b)

Yukarıdaki örnek, sınıf metodlarının nasıl kullanılabileceğini anlamamızı sağlayacak bir örnek olarak gösterilebilir. Sınıf metodları, projeye özgü olarak tasarlandığı için, farklı projelerde değişkenlik gösterebilir.


Nesne Nedir?

Nesne, sınıfın örneği olarak tanımlanabilir. Sınıfın belirli bir özellikleri ve metotları vardır. Nesne oluşturulduğunda bu özellikler örneğe aktarılır. Nesne, sınıftan bağımsız olarak kullanılabilen bir yapıdır.

Bir nesne oluşturmak için sınıfı kullanmanız gerekir. Sınıf tanımında belirtilen özelliklerin, nesne örneğine tanımlanması gerekmektedir. Nesne, sınıfın metotlarını çağırmak için kullanılır ve metotlara örneğe özgü veriler gönderilebilir.

Örneğin, bir araba sınıfı oluşturduğunuzu varsayalım. Bu sınıfta araba özellikleri belirtilmiş ve metotlar tanımlanmıştır. Bu sınıftan oluşturulan bir nesne, gerçek dünyadaki bir araba gibi davranacaktır. Nesnelerin kullanımı, programlama yaparken oldukça önemlidir ve birçok avantaj sunar. Nesneler, verilerin daha kolay organize edilmesine ve kodun daha anlaşılır hale gelmesine olanak sağlar.


Örnek Kodlar

Örnek kodlar, PHP OOP konusunu daha iyi anlamak için oldukça faydalıdır. Bu örnekler, hem kavramların anlaşılmasını kolaylaştırır hem de kullanımlarının daha iyi kavranmasını sağlar.

İlk örnek kodumuzda, basit bir sınıf tanımlaması yapacağız. Bu sınıfın adı "Araba" olsun ve içerisinde "marka", "model" ve "yıl" özellikleri olsun. Ayrıca, "arabaOzellikleri" adlı bir metot içerisinde bu özellikleri ekrana yazdıralım. Kodumuz aşağıdaki gibi olacaktır:

```phpclass Araba { public $marka; public $model; public $yil;

public function arabaOzellikleri() { echo "Marka: " . $this->marka . "
"; echo "Model: " . $this->model . "
"; echo "Yıl: " . $this->yil; }}

$toyota = new Araba();$toyota->marka = "Toyota";$toyota->model = "Corolla";$toyota->yil = "2018";

$toyota->arabaOzellikleri();

```Yukarıdaki kod bloğu, "Toyota Corolla 2018" bilgilerini ekrana yazdıracaktır.

Diğer bir örnek kodumuzda ise, bir sınıftan diğer bir sınıf oluşturma işlemini gerçekleştireceğiz. Bu işlem için "Personel" ve "Yönetici" sınıflarını kullanacağız. Personel sınıfındaki "ad", "soyad" ve "maaş" özellikleri, Yönetici sınıfı tarafından kalıtılarak kullanılacak. Ayrıca, Yönetici sınıfı, Personel sınıfından farklı olarak "departman" özelliğine sahip olacak. Kodumuz aşağıdaki gibi olacaktır:

```phpclass Personel { public $ad; public $soyad; public $maas;

public function personelOzellikleri() { echo "Ad: " . $this->ad . "
"; echo "Soyad: " . $this->soyad . "
"; echo "Maaş: " . $this->maas; }}

class Yonetici extends Personel { public $departman;

public function yoneticiOzellikleri() { echo "Departman: " . $this->departman; }}

$yonetici = new Yonetici();$yonetici->ad = "Ahmet";$yonetici->soyad = "Yılmaz";$yonetici->maas = 5000;$yonetici->departman = "IT";

$yonetici->personelOzellikleri();echo "
";$yonetici->yoneticiOzellikleri();

```Yukarıdaki kod bloğu, "Ahmet Yılmaz 5000 IT" bilgilerini ekrana yazdıracaktır.

Bu örnekler, PHP OOP programlama konusunda temel kavramların anlaşılmasına yardımcı olacak niteliktedir. İlerleyen zamanlarda daha kapsamlı örnekler incelenerek, OOP programlama konusunun daha iyi kavranması sağlanabilir.


OOP ile Geliştirilmiş Bir Web Uygulaması

OOP, özellikle web uygulamalarını geliştirirken oldukça yararlı bir tekniktir. Bu nedenle, OOP kullanarak bir web uygulaması geliştirelim ve örnek kodların açıklamalarını birlikte inceleyelim.

Bu örnekte, bir online kitap mağazası web uygulaması geliştireceğiz. Uygulama, kullanıcılara kitapları arama ve satın alma imkanı sunacak. Ayrıca, yönetici paneli, kitapları eklemek, güncellemek ve silmek için kullanılacak.

Kod Açıklama
index.php Uygulamanın ana sayfası
book.php Kitapların listelendiği sayfa
cart.php Sepet sayfası
admin.php Yönetici paneli
  • Sınıflar: Book, Cart, User
  • Özellikler: kitap adı, fiyatı, yazarı, yayınevi, stok durumu
  • Metodlar: kitapları listeleme, sepete ekleme, sepetten çıkarma, kitap ekleme, güncelleme ve silme

Yukarıdaki kodlar, kitapların listelendiği sayfada kullanılacak Book sınıfı ve sepet işlemleri için Cart sınıfını içerir. Ayrıca, kullanıcı bilgilerini yönetmek için User sınıfı da oluşturulabilir.

Uygulamanın yönetici panelinde, kitap ekleme, güncelleme ve silme işlemleri için gerekli kodlar oluşturulur ve admin.php sayfası ile birleştirilir.

Bu örnek uygulama, OOP'nin web uygulamaları geliştirmedeki kullanımını göstermektedir. OOP kullanarak web uygulamaları geliştirmek, kodun daha okunaklı, bakımının daha kolay ve yeniden kullanılabilirliğinin daha yüksek olmasını sağlar.