23 Haziran 2016 Perşembe

Php'de Nesneler (Objects) ve Sabit Değerler

Nesneler (Objects)
NYP yani Nesneye Yönelik Progamlama programlama
dünyasında çığır açan bir tekniktir. Ġngilizce OOP olarak
ifade edilir ve Objet Oriented Programming kelimelerinin
baĢ harflerinden oluĢur. Bu teknik ortaya çıktığında
geleneksel programlamaya alıĢkın olanlar önce tereddüt
etsede nesneler kısa sürede programcılar için
vazgeçilmez oldular. Tanımlarsak, nesne, kendi
değiĢkenleri ve çalıĢtıracağı komutlardan oluĢan
fonksiyonları ile bir bütündür. Nesneyi bir kere
tanımladıktan sonra istediğimiz kadar örneğini
oluĢturabiliriz. Bir nesnenin yapacağı iĢten, o nesnenin
metodu diye söz ederiz. Nesneler birbirinin atası olabilir.
Birden fazla nesne bir araya gelerek yeni bir nesne
oluĢturabilirler.
Windows iĢletim sistemi tamamen NYP ile yazılmıĢtır.
Pencereler birer nesnedir. Pencere nesneleri ise, baĢlık
çubuğu, pencelere alanı, durum satırı, sol ve sağ üst
köĢelerdeki düğmelerden oluĢmuĢtur. Gene aynı Ģekilde
Windows pencelerinde gördüğünüz bilgi giriĢ kutuları
düğmeler vs her Ģey bir nesnedir.
Nesneler Ġleri programlama konusu olduğundan örnekler
sonra iĢlenecektir. Ancak bast bir örnek vermek için ;
<?
class nyp{
function yazdir($str){
echo "Merhaba\n";
echo "değiĢken : $str\n";
}
}
$deneme= new nyp();
$a="rastgele bir metin değeri";
$deneme -> yazdir($a);
?>
bu programı çalıĢtırdığımızda ekrana
Merhaba
Değişken : rastgele bir metin değeri
yazacaktır.
Konu baĢında belirtildiği gibi bu basit bir örnektir. $a ile
$str farklı olması sizleri ĢaĢırtmasın. Ġleriki konularda bu
olay daha net ĢekillenmiĢ olacaktır.
Sabit Değerler - Constants
Ġster Web, ister Web-dıĢı amaçlı olsun, bir programın
bazen baĢından sonuna kadar aynı değeri taĢıması
istenen bir değere ihtiyacınız olabilir. Tabiî ki bu iĢlem
için bir değiĢken kullanmakta mükündür. Ama yanlıĢlıkla
değiĢkene değer atarsanız ölümcül hatalar yapabilrsiniz.
Örneğin liste kodu yazdığımızı düĢünelim; matbu forma
baskı yaptıracağız, form 20 satırlık ve yine 20 satırdan
oluĢan bir sürü baĢka formumuzda var. Programın içinde
bir değiĢken tutup bu sayı 20 olunca yeni form
takılmasını isteyebiliriz. Ama ilerde formlar 30 satır
olursa tüm o 20 sayılarını bulup 30 yapmamız gerekir.
Bu iĢlem için $satirsayisi diye bir değiĢken kullanıp,
içeriğini 20 olaak kullanmayı düĢünürsek eğer ilerde
sadece bu sayının 30 yapılması yetecektir. Bu daha akılcı
bir iĢlemdir. Ancak buradada bir sorun var. Ya bu
değiĢikliği yanlıĢlıkla kod içinde yaparsak ? Sonuçta bu
bir deiĢken ve değer atamayada açık durumda. ĠĢte
bunun için satirsayisi diye bir sabit tanımlayıp buna
değer atabiliriz. Böylece hem bir değiĢiklikle tüm
satirsayisi değerlerini güncellemiĢ olacağız, hemde kod
içinde bu değeri yanlıĢlıkla değiĢtirmenin önüne geçmiĢ
olacağız. Üstelikta yanlıĢlık aynı isimde bir sabit daha
oluĢturmaya kalkınca PHP iĢlemi yapmayacaktır.
PHP'de sabit değerler, Script boyunca değiĢmeden kalır.
Sabit değerler, değiĢkenlerden farklı Ģekilde oluĢturulur.
Bunun için PHP'nin define() fonksiyonunu kullanırız. Bu
fonksiyonun yazım kuralı Ģöyledir:
define ("SABIT_ADI", değeri);
Burada SABIT_ADI yerine, tanımlamak istediğimiz sabit
değere vereceğimiz isim, değeri yerine de sabitin
taĢımasını istediğimiz değeri yazarız. Örnek:
<?php $tutar = 125;
define ( "KDV", 18);
$TL_Tutar = $tutar+(($tutar * KDV)/100);
print ($TL_Tutar);
?>
Burada tanımladığımız KDV sabit-değeri, tıpkı bir
değiĢken gibi kullanılabilir. Ticari bir kod içinde bu KDV
değeri yüzlerce iĢlemde geçebilir. Bunun değerinin elle
kodlanması yerine bu Ģekilde kullanılması bizi hatalardan
koruyacaktır. Diyelimki KDV 18 den 10 ‗a düĢtü.
Yapmamız gereken sadece DEFINE satırındaki 18
değerini 10 yapmak olacaktır. Kodun geri kalanı anında
KDV oranını 10 olarak kullanacaktır.
Sabit değer ile aynı ismi taĢıyan değiĢken oluĢturmak
mümkündür; ancak aynı ismi taĢısa da PHP bir sabit ile
bir değiĢkeni (birinin adının önünde $ iĢareti bulunduğu
için) karıĢtırmaz. TanımlanmıĢ olan bir sabiti yeniden
oluĢturamayız; ama buna teĢebbüs ettiğimizde PHP hata
vermez. Bir sabit değerin oluĢturulmuĢ olup olmadığını
defined() fonksiyonu ile anlayabiliriz:
<?php
$tutar = 125;
if (defined( "KDV" )) {
echo ("Sabit değer daha önce
tanımlanmıĢtı.<br>");
}
define ( "KDV", 18);
$TL_Tutar = $tutar+(($tutar * KDV)/100);
print ($TL_Tutar);
?>
PHP'nin kullanılmaya hazır bir kaç sabit değeri vardır.
True (doğru) değeri 1 olan, False (yanlıĢ) ise değeri sıfır
sayısı veya boĢ alfanümerik olan iki sabittir. Diğer
sabitler ise Ģunlardır:
 __FILE__ : O anda çalıĢmakta olan PHP dosyasının
adı
 __LINE__ : Bu ifadenin yer aldığı satırın sayısı
 PHP_VERSION: PHP'nin sürümü;
 PHP_OS: PHP'nin çalıĢtığı iĢletim sistemi;
 PHP_VERSION : PHP'nin sürümü (Ġki kelimenin
arasında bir alt-çizgi var);
Bunlara ek olarak, E_ERROR, E_WARNING, E_NOTICE ve
E_PARSE Ģeklinde hata durumunda hatanın çeĢitli
özelliklerini bildiren sabit değerleri de kullanabiliriz. PHP
hakkında çok daha geniĢ bilgiyi phpinfo() fonksiyonunu
çağırarakk alabilirsiniz.
Buradaki değiĢkenler iĢletim sistemine ve web server
programına görede değiĢirler. Ġlerde bunlar detaylıca
incelenecektir.

Hiç yorum yok:

Yorum Gönder