IRCForumları - IRC ve mIRC Kullanıcılarının Buluşma Noktası
  sohbet

 Kayıt ol  Topluluk
Yeni Konu aç Cevapla
 
LinkBack Seçenekler Stil
Alt 31 Mart 2012, 10:14   #1
Çevrimdışı
Kullanıcıların profil bilgileri misafirlere kapatılmıştır.
IF Ticaret Sayısı: (0)
IF Ticaret Yüzdesi:(%)
Php Class Yapısı




Bu dersimizde Php ile ileri seviye kullanımda işinize yarayacak. daha doğrusu uzmanlık seviyesinde öğrenmek zorunda olacağınız class (sınıf) yapısına giriş yapacağız.

Normal koşullarda class yapısı kullanmadan birçok işinizi fonksiyonlarla halledebilirsiniz. Eğer fonksiyonların sağladığı kolaylığa alıştıysanız o zaman işinizi 3-4 kat daha da kolaylaştıracak bir yapıyı öğrenmeye ne dersiniz.

Herzaman olduğu gibi Öncelikle işin mantığına bakalım:

Class hazırlandıktan sonra aynı fonksiyonlar gibi tek satırda çağrılır. ve kendi başına bir değişken gibi davranır.

örnek: insan isimli bir kütüphane yaptık diyelim:

şu şekilde kullanıldığını görmeniz işin eğlenceli kısmını anlamanızı sağlayacak.



$ogrenci = new insan();

$ogrenci -> adi = "Ali";
$ogrenci -> soyadi = "Zeki";
$ogrenci -> dogum_tarihi=1990;


$ogrenci -> adini_soyle();

$ogrenci -> yasin_kac();


Özellikle kırmızı ile gösterdiğim bölüme dikkat etmenizi istiyorum. değişkenler bir kez tanımlandıktan sonra fonksiyonların kullanımı çok kolay oluyor. işin tek zor kısmı kütüphaneyi ilk üretme aşaması. ama kütüphane yapmayı öğrendikten sonra başkalarının hazırladığı kütüphaneleri kullanmak çok kolaylaşıyor. herhangi bir hatası varsa onu giderdikten sonra birsürü hazır class emrinize olacak.


Şimdi insan isimli class kütüphanesini üretelim:


Kod:   Kodu kopyalamak için üzerine çift tıklayın!
class insan { public $adi; public $soyadi; public $dogum_tarihi=0; private $anne_kizlik_soyadi; function adini_soyle() { echo "Benim adım ". $this->adi ."<br>"; } function yasin_kac() { $yas = date("Y") - $this->dogum_tarihi ; echo "Yaşım ".$yas ."<br>"; } }


Sonuç

Sonuç:

Benim adım Ali
Yaşım 20



Class kullanımında dikkat edeceğiniz konulardan biri değişkenleri $this->degisken şeklinde yazarken $işareti sadece this kelimesi önünde bulunur. ikincisi private şeklinde tanımlanmış değişkenleri dışardan yazdırmak mümkün değildir.

örnek:

Aşağıdaki komut hata verecektir:


Kod:   Kodu kopyalamak için üzerine çift tıklayın!
echo $ogrenci -> anne_kizlik_soyadi;

Sonuç :

Kod:   Kodu kopyalamak için üzerine çift tıklayın!
Sonuç: Fatal error: Cannot access private property insan::$anne_kizlik_soyadi in test.php on line 32

private(kişisel) bir değişken bu şekilde tanımlanmışsa sadece class içindeki fonksiyonlar tarafından kullanılabilir. class dışından yazdırma veya değiştirme yapılamaz.



örnek: aşağıdaki şekilde değişiklik yapılarak insan isimli class yapısını değiştirmemiz halinde "Anne kızlık adı" bilgisini öğrenebiliriz.

Kod:   Kodu kopyalamak için üzerine çift tıklayın!
class insan { public $adi; public $soyadi; public $dogum_tarihi=0; private $anne_kizlik_soyadi="zekiye"; function adini_soyle() { echo "Benim adım ". $this->adi ."<br>"; } function yasin_kac() { $yas = date("Y") - $this->dogum_tarihi ; echo "Yaşım ".$yas ."<br>"; } function anne_soyadi($istek) { if($istek=="lütfen") { echo "Annemin kızlık soyadı : ".$this->anne_kizlik_soyadi ; }else{ echo "Nayırr, Söylemem"; } } }


yeni fonksiyonu çağırmak için şöyle yazmak gerekir:

$ogrenci -> anne_soyadi("lütfen");

sonuç:

Annemin kızlık soyadı : zekiye

Tabii buradaki uygulamada tüm bilgileri kendimiz girdiğimiz için pek mantıklı görünmüyor ama gerçekçi bir uygulamada bilgilerin class içindeki bir fonksiyon yardımıyla veritabanından alınarak gerekli yerlere doldurulduğunu düşünürsek ulaşmak istenen bilgilere erişimi kısıtlayan ve gerektiğinde çıktı veren güzel bir class olacaktır.

 
Alıntı ile Cevapla

IRCForumlari.NET Reklamlar
sohbet odaları reklam ver Benimmekan Mobil Sohbet
Cevapla

Etiketler
class, php, yapısı


Konuyu Toplam 1 Üye okuyor. (0 Kayıtlı üye ve 1 Misafir)
 

Yetkileriniz
Konu Acma Yetkiniz Yok
Cevap Yazma Yetkiniz Yok
Eklenti Yükleme Yetkiniz Yok
Mesajınızı Değiştirme Yetkiniz Yok

BB code is Açık
Smileler Açık
[IMG] Kodları Açık
HTML-Kodu Kapalı
Trackbacks are Kapalı
Pingbacks are Açık
Refbacks are Açık


Benzer Konular
Konu Konuyu Başlatan Forum Cevaplar Son Mesaj
2012 Mercedes M Class SLyther Otomobil Haberleri 0 28 Kasım 2011 21:46
Class Diyagram Örnekleri Sunay C# 0 23 Nisan 2010 20:36