OOP (Object Oriented Programming)
PHP 5 versiyonunda PHP 4 e göre geliştirilmiş yapı mimarisi oluşturuldu. OOP mimarisi ilk bakışta çok karışık gelebilir. Zaman ve maliyet açısından büyük fayda sagladıgını ilerleyen zamanlarda göreceksiniz. Tüm web teknolojilerinde bu yapıya geçmesi bize neredeyse artık zorunluluk haline gelebilecegini gösterir. C veya java programlama dillerinde mimari kullandıysanız php mimarı yapısını hemen algılarsınız. Daha önce OOP yapısını kullanmayanların zorlanması normaldir.
OOP Nedir?
Nesne yönetlimli programlama olarak türkçeye cevirebiliriz.
Amacı: Projerleri belli başlı standartlar altına sokarak her işlem için ayrı ayrı kod yazmaktan kurtarması.
Örnegin bir projemizde tekrar kodlar varsa için içinden çıkılmaz bir hal alabilir. OOP mimiarisi ile kısa kodlar yazarak rahatlıyabililiriz. Bazı formları sürekli kullanırız. Bu formları nesne olarak yaptıgımızda bu nesneleri tekrar tekrar yazmak zorunda kalmayız.
Class: Bir işlemi yapan fonksiyon kümesidir. Classlarda değişkenlerde oldugu gibi sayı ile başlama,türkçe karekter kullanımı olmaz.
Construct: Classın başladığında yüklenen metot.
Destruct: Classın işlemleri bittiginde yüklenen metotdur.
Classların ana işlemleri construct metotunda kullanılır. Dışardan gelen veriler burada işlenir. Destruct metotdunda ise hafıza boşaltılması,bağlantı kapatmak,işlem bittigini uyarmak gibi işlemler yapılır.
GİZLİLİK
OOP mimarisindeki erişim izinlerinin ayarlarını PHP 5 ile gizlilik niteligi ile geldi. PHP 5 ile public,private,proteched gibi nitelikler geldi.
PUBLİC
Publicler sabit ve her yerden erişime açıktırlar. Hem class içersinde hemde class dışında erişim sağlanabilinir. Kullanımları bazı yerlerde büyük güvenlik açıklarına sebep olabilir. (kullanım yerine baglı olarak )
PRIVATE
Sadece class içerinde kullanmaya yetkili sabit değişken veya metot kullanmak istedigimizde kullanılır. Prvate ile oluşturulanlar dışardan erişilemez. Erişilmek istediginde “Fatal Error” hatası verecektir.
PROTECTED
Class içinde kullanılan metot ve sabit değişken ile erişilmeye yarar. Hem kendi içinde hemde extend olarak türetilen lcasslar içersinde kullanılır.
EXTENDS
Eğer sınıfımız başka bir sınıfı olacaksa extends ile aktarılır.
STATIC METOT
Eğer classın tek metoduna kullancaksak satatik metotuna kullanırız.Statit metot tek başına çağrılması programlama mantıgına uygun degildir. Statik metot 1 kez çağrıldıktan sonra RAM e aktarılır.Sonraki çarılmalarda ramden alacagından dolayı performans kazançı yüksek olur. Static olmayan metotlarda bütün çağrılmalarda işlemleri tekrar yapar. Buda performans kaybı yaşatır. Static metota dışardan değer atamayız.
CONST (SABİT) METOT
Sabit değerleri PHP de DEFINE komutu atıyoruz. Class yapıların içinde ise const komutu ile atama yapıyoruz. Const komutu kullanmamız peroformans içinde önemlidir
FINAL METOT
Yapılan classların en son olarak class,metot,sabit deişkenleri koruama amaçlı kullanılan metotdur. Bir çok programcı ile çalışıldıgında kullanılması zorunlu hale gelecektir. Özellikle component yapısında çok önemlidir.
AUTOLOAD FONKSİYONU
Autoload fonksiyonu PHP 5 ile gelen class çağırma fonksiyonudur. Projede tanımlandıktan sonra otomatik olarak çağrılan fonksiyon tipidir. Her defasında include edip etmediginizi düşünmeniz yerine bu fonskyionu kullanabilirsiniz. Eğer bütün classlarınızı tek bir klasor içersinde tutarsanız işlemleriniz kolaylaşır.
Kaynak:
PHP Ve OOP Mimarisi
