EğitimPHP

PHP Dersleri – Ders 3: Sınıflar (Classlar)

PHP’nin en çok kullanılacak özelliklerinden birisi olan php class derslerimizde gelmiş olduk.

Classlar obje-tabanlı (object-oriented) programlama dillerinde kullanılırlar. Sonradan yapılacak değişikliklerin daha kolay olmasına, ve programın daha anlaşılır olmasına çok büyük katkıları vardır. Giriş bölümünde kısmen açıkladığımız bu özelliği bu dersimizde tamamen açıklığa kavuşturacağız.

Classlarımızın ilk örnek kullanımını aşağıdaki örnekten anlayacağız.

class insan{

public $isim;

public $soyisim;

public $yas;

function benkimim(){

echo "Adım: ".$this->isim."\r\n;

echo "Soyadım: $this->soyisim\r\n";

echo "Yaşım: $this->yas\r\n";

}

}

$kisi = new insan();

$kisi->isim="Mehmet";

$kisi->soyisim = "Baltacı";

$kisi->yas = 33;

$kisi->benkimim();

 

KAFANIZ NEREDE KARIŞACAK

  • Public belirleyicisi

Buna aldırış etmenize gerek yok. Açıklamayı ileride yapacağız. Yalnızca o şekilde belirlendiğini bilmeniz yeterli.

Buradan anlamamız gereken şeyler:

  • Classlar “class” tanımlayıcısı ile tanımlanır.
  • Classların sonuna fonksyonların aksine parantezler gelmez çünkü argüment almazlar.
  • Classların içinde değişken belirlerken değişkenin nereden ulaşılabileceğini belirlememiz gerekir (public, private, protected) ve bu konuya class extends kısmında gireceğiz.
  • Bir class’ı kullanmak için $degisken = new classadı(); şeklinde bir değişkene atarız ve artık o değişken class olur.
  • Class içindeki bir veriyi değiştirecekken değişkenin başına $ konulmaz ancak class değişkeninin başında değişken olur. ($class->degisken = “”;)
  • Class içerisindeki bir değişkeni kullanmak için $class yerine $this->degisken şeklinde kullanım yapılır. $this, o class’ı temsil etmektedir. Direkt olarak $degisken şeklinde kullanılmaz (veya buradaki $isim şeklinde).

Public ve Private değişken türleri

Public

Public, yani “halka açık” değişken türleri class’ın dışından da erişilebilir. Yukarıda verdiğimi örnekten ilerleyecek olursak $isim adlı değişkeni class’ın dışından $insan->isim olarak değiştirmiştik. Bunu yapabilmemizin sebebi değişkenin public olmasıydı.

Private değişken türü bundan biraz daha komplike gelecektir.

Private

Eğer ki yukarıdaki class’da değişken private olsaydı bunu class’ın dışından değiştiremeyecektik. Bu ne işe yarar derseniz, aşağıdaki örneği inceleyelim.

class numara{

private $kere = 0;

function rakamisoyle(){

echo $this->kere;

}

function arttir(){

$this->kere++;

}

}

$classDegiskeni = new numara();

echo $classDegiskeni->rakamisoyle()." ";

$classDegiskeni->arttir();

echo $classDegiskeni->rakamisoyle()." ";

 

Gördüğünüz gibi $kere değişkenine dışarıdan hiçbir iletişimde bulunmadık. Bunu bu şekilde kullanmanın dışında örneğin veritabanı adresini, adını, kullanıcısını, şifresini, işlem limitlerini gibi bu tür verileri depolamak için kullanabilirsiniz. Ayrıca bu oluşabilecek olası açıklarının da önüne geçer.

CLASS KULLANIMI İLE İLGİLİ ÖNERİM

Öncelikle bir klasör oluşturun. Oluşturduğunuz klasörün içinde örneğin motor.php, veya sınıflar.php, veya fonksyonlar.php gibi bir dosya oluşturun.

Ardından

include “klasör/dosyaadı.php”;
komutundan yararlanarak ana dosyanızda kullanabilirsiniz.

Böylece dosyanın içinde belirlenmemiş olsa bile, diğer dosyadaki veriler içe alınacağından daha düzenli bir şekilde çalışabilirsiniz.

İsterseniz her class için ayrı dosya da oluşturabilirsiniz.

include komutu sanki hepsi bir dosyaymış gibi kullanmanızı sağlar.

Html ile beraber çalışmaya başladığımızda bunu çok kullanacağız.

Php class yapısı büyük projelerin kaçınılmaz bir parçasıdır.

Sonraki Ders: https://www.nixdestek.org/php-dersleri-ders-3-siniflar-classlar/

 

 

 

Etiketler

Ahmet Emin Koçal

Uzun yıllar bilgisayar teknolojileri ile ilgilenmiş, PHP alanında iyi miktarda bilgiye sahip bir destekçi arkadaşınız/hocanız.

Alakadar Makaleler

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

Close

Adblock tespit edildi

Lütfen Adblock'unuzu devre dışı bırakıp bizlere destek olun ki sizlere yardımcı olmaya devam edebilelim