tarafından

Nesne Yönelimli PHP – Bölüm 1

oop-php-part1-banner

Makaleler Hakkında

3 Bölümden oluşacak makale dizisinde, Object Oriented (Nesne Yönelimli) PHP’nin temellerini; kodunuzu yönetmeyi, bileşenleri birbirinden ayrı tutmayı ve gerektiğinde bunlara kolaylıkla erişebilmeyi konu alacağız.

3. makale ile birlikte; genel veritabanı işlemlerini gerçekleştirmek üzere basit bir MySQLi (MySQL Improved) sınıfı yazacağız.

Bu Yazıda

  1. Nesneler(Objects) ve Sınıflar (Classes) nedir?
  2. İlk sınıfımızı yazalım.
  3. Sınıfların kullanımı.
  4. Sınıfların kişiselleştirilmesi (Dinamizm eklenmesi)

1. Nesneler ve Sınıflar

Sınıflar, basitçte; fonksiyonlar deposu olarak tanımlanabilir. Başka türlü beznetmek gerekirse; Masaüstünüzdeki bir klasör sınıf ise o klasörün içindeki dosyalarda fonksiyonlardır.

Bir de klasik bir örnek üzerinden anlatalım:

oop-php-part1-dog-example

Resimde de gördüğünüz gibi köpek sınıfının, koşmak, yürümek, oyun oynamak, havlamak gibi fonksiyonları mevcut. Bu yapı bir sınıfın en genel tanımıdır.

Şimdi, sınıfın ne olduğunu az çok öğrendik. Peki bu sınıfı kodlarımızda nasıl kullanacağız. İşte bu noktada işin içine Nesneler giriyor. “Köpek” adındaki bir sınıfı kullanmak için bir bir değişken tanımlamamız gerekir.

Daha bağlantılı olması için sınıf yazımından itibaren kodumuza başlayalım:

2. İlk sınıfımızı yazalım.

İlk kodumuz olduğu için, olabildiğince basit ilerleyelim; Favori kod editörünüzü açın, myClass.php adına boş bir dosya oluşturun ve içine aşağıdaki kod bloğunu yazın:

<?php
class myClass
{
 function Merhaba()
 {
 echo "Merhaba!";
 }
}
?>

Eğer bu dosyayı sunucunuzda çalıştırmaya kalkarsanız, ekrana hiçbirşey yazmayacaktır. Çünkü yapmış oldumuz şey sadece bir sınıf tanımlamak, sınıfın içindekileri çalıştırmak adına şu an için birşey yapmadık.

Devamında yine boş bir dosya olışturup myClass.php ile aynı klasörün içine index.php adıyla  kaydedin.

3. Sınıfların kullanımı.

index.php içinde, myClass.php içindeki sınıfımıza erişmek için, ilk önce sayfamıza myClass.php‘nin referansını eklememiz gerek. Aşağıdaki kodda bunun nasıl yapıldığı gösterilmiştir:

<?php

 require_once('myClass.php');

 $myClass = new myClass();

 $myClass->Merhaba();

?>

Eğer bu sefer index.php’yi tarayıcınızda çalıştırırsanız ekranda “Merhaba dünya!” yazdığnı göreceksiniz. Şimdi yaptığımız çalışmanın üzerinden geçelim. Öncelikle  “require_once(‘myClass.php’)” satırı ile index.php sayfamıza, içinde sınıfımızın bulunduğu myClass.php sayfamızı çağırdık. Bir sonraki satırda bu sınıfımızı bir değişken gibi kullanabilmemiz için gerekli olan nesne tanımlamasını yaptık, bu sayede $myClass nesnesi üzerinden sınıfımız içerisindeki “Merhaba()”  fonksiyonuna erişebiliyoruz. Son olarak tanımladığımız nesnenin Merhaba() fonksiyonunu çağırdık ve belirlediğimiz metin ekrana yazdırıldı.

4. Sınıfların kişiselleştirilmesi

Şimdi, elimizdeki hazır sınıfımızı kişiselleştirmek adına şöyle bir değişiklik yapalım: sitemize kullanıcı adı ve şifresiyle giriş yapmış birine adıyla hitap ederek merhaba diyelim. bunu yapmak için myClass.php’ye geri dönüp aşağıdaki değişiklikleri yapın:

<?php
class myClass
{
function Merhaba($kullanici)
{
echo "Hello " . $kullanici . "!";
}
}
?>

Bütün yaptığımız, ekrana  “Merhaba dünya” yazan fonksiyona bir parametre eklemekten ibaret. Bu sayede fonksiyonumuza index.php‘den istediğimiz kullanıcı adını göndererek, o kişiye özel merhaba yazdırabiliriz. index.php sayfasına geri dönün ve aşağıdaki değişiklikleri uygulayın:

<?php

require_once('myClass.php');

$myClass = new myClass();

$myClass->Merhaba('Ali');

?>

index.php sayfasını tarayıcınızda açtığınızda ekranda “Merhaba Ali!” yazdığını görürsünüz.

Bu çalışma ile de sınıflarımızı nasıl kişiselleştirip, dinamizm katabileceğimizi gördük.

Kurtman Çelik
kurtmancelik.wordpress.com
Kaynak: http://buildinternet.com/2009/07/an-introduction-to-object-oriented-php-part-1/

Reklamlar

Bir Cevap Yazın

Aşağıya bilgilerinizi girin veya oturum açmak için bir simgeye tıklayın:

WordPress.com Logosu

WordPress.com hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap / Değiştir )

Twitter resmi

Twitter hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap / Değiştir )

Facebook fotoğrafı

Facebook hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap / Değiştir )

Google+ fotoğrafı

Google+ hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap / Değiştir )

Connecting to %s