PHP ve OOP Mimarisi 2
OOP SİHİRBAZ YÖNTEMLER
__TOSTRING
Classı çağırdıgımızda obje değeri yerine sabit degişken gelen yöntemdir. Yani direk olarak obje çağırıldıgında verecegi mesajı saglarız.
<?php
class sinifim
{
public function __construct()
{
echo "sınıfımız başladı<br>";
}
public function __toString()
{
return "class içerigi direk çalışmaz<br>";
}
public function __destruct()
{
echo "sınıfımız bitti<br>";
}
}
$sinifim = new sinifim();
echo $sinifim;
?>
_CALL
Class içersinde tanımlı olmayan sabit değişken veya metotları cagırıldıgında verilecek olan hata mesajıdır.
OVERLOADING
OOP mimarisinde hataları en aza indirebilemk için class içersinde parametresiz değer atamak mümkün değildir. Overlading ile kolayca dışardan değer atanabilinir. Class içerine bir çok parametre girilecekse önerilen bir yöntemdir.
__get: Class içersinde olmayan sabit değişkeni get eder.
(Metodun değer döndürmesi olarak nitelendilir. )
__set: Class içerinde olmayan sabit değişken için veriyi set eder.
(Metot veya fonksiyona değer atanmasıdır.)
__isset: Class içersinde olmayan sabit değişken için issset veya empty komutları kullanıldıgında çalışır.
__unset: Class içersinde olmayan sabit değişken için unset komutunu kullandıgımızda çalışır.
__call: Olmayan metot oldugunda çalışır.
__callStatic: Olmayan metot çağrılıdıgında çalışır
SİHİRLİ YÖNTEMLER
__INVOKE
Nesneyi bir işlev olarak çalıştırma istediğimizde __invoke metotunu kullanırız
NESNE KOPYALAMA
İçersinde veri saklanan classlar için kullanılır. Performans artışı için kullanabiliriz. Bir kere çağırdıktan sonra bu objeden bir çok nesne oluşturabiliriz. Böylece her class çağırdıgımızda extradan ramden yer kaplamaz.
SOYUT SINIFLAR
Nesne soyutlama kavramı PHP 5 ile beraber geldi. Büyük ölçekli ve component yapısı olan projelerimizde classların sistematik olarak çalışmasına olanak sağlar Abstract olarak tanımladığımız bir classda metot ve sabit değişkenler sabit olarak tanımlanmışsa, Sabitler ve metotlar tanımlama yapılması mecburidir.


27. Ağu, 2010







Henüz Yorum yazılmamış... İlk Yorumu siz yazabilirsiniz!