fonksiyonlar function komutu ile oluşturulur. Tanımladığımız fonksiyon,
kendisini göreve çağıracak komuittan, yapacağı işlemde kullanmak üzere
değer alacaksa, bu değerlere vereceğimiz değişken isimleri fonksiyon
adının yanında parantez içinde gösterilir. Fonksiyon birden fazla değer
bekleyecekse, bunların değişken adlarının arasına virgül koyarız.
Fonksiyona ulaştırılan değerlere argüman denir. Fonksiyon, kendisine
bir değer ulaştırılmasını beklemese bile içi boş parantez koymamız
gerekir. Buna göre PHP”de fonksiyon şöyle yazılır:
function fonksiyonun_adı (argüman1, argüman2, … argümanN) {
fonksiyonun yapacağı işe ilişkin komutlar
}
Fonksiyon
adları, değişken adları ile aynı kurallara tabidir. Fonksiyon içinden
fonksiyon çağrılabilir; fonksiyonların içinde PHP”nin kendi
fonksiyonları kullanılabilir. Şimdi, ilk örnek fonksiyonumuzu yazalım.
Yukarıdaki
örneklerde, PHP”ye, bir Web sayfası oluştururken HTML ögesi olacak bazı
satırların başına <H1>, satır sonlarına <BR> gibi etiketler
koydurduğumuza dikkat etmiş olmalısınız. Bir programda bu işi sık sık
yapacaksak, yani metinlerimiz <BR> ile bitecek, bazı
başlıklarımız ise sayfamıza HTML”in başlık etiketleri ile
gönderilecekse, bu etiketleri defalarca yazmamız sadece zorluk değil,
fakat aynı zamanda yazım hatasını davet eden bir davranır olur. PHP”de
kendisine vereceğimiz metinleri başlık veya gövde yazısı olarak
biçimlendirecek fonksiyonlar tanımlayarak, programcılıkta daima
tehlikeli olan insan unsurunu asgarîye indirebiliriz. Şu programı
yazdir01.php adıyla kaydederek, Browser”da açın:
<?php
function yazdirBR ($metin) {
print (”$metin<br>
“);
}
function yazdirH1 ($metin) {
print (”<h1>$metin</h1>
“);
}
function yazdirH2 ($metin) {
print (”<h2>$metin</h2>
“);
}
function yazdirH3 ($metin) {
print (”<h3>$metin</h3>
“);
}
function yazdirH4 ($metin) {
print (”<h4>$metin</h4>
“);
}
function yazdirP ($metin) {
print (”<p>$metin</p>
“);
}
// Başka kodlar buraya girebilir
yazdirH1(”Bu H1 Başlık”);
yazdirH2(”Bu H2 Başlık”);
yazdirH3(”Bu H3 Başlık”);
yazdirH4(”Bu H4 Başlık”);
yazdirBR(”Bu kendisinden sonra BR olan birinci metin.”);
yazdirBR(”Bu kendisinden sonra BR olan ikinci metin.”);
yazdirP(”Bu
uzun uzun uzun uzun uzun uzun uzun uzun uzun uzun uzun uzun uzun
uzun uzun uzun uzun uzun uzun uzun uzun uzun uzun uzun bir paragraf
metni.”);
yazdirP(”Bu uzun uzun uzun uzun uzun uzun uzun uzun
uzun uzun uzun uzun uzun uzun uzun uzun uzun uzun uzun uzun uzun
uzun uzun uzun bir diğer paragraf metni.”);
?>
</BODY>
</HTML>
Bu programda, yazdirBR(), yazdirH1(), yazdirH3(), yazdirH4(), ve yazdirP()
adlarıyla altı fonksiyon tanımladığımızı görüyorsunuz. Bu
fonksiyonların hepsi kendilerini göreve çağıran satırdan, kendilerine
bir değer verilmesini istiyorlar ve bu değeri $metin adlı değişkende
tutuyorlar. Fonksiyonlarımız tümü de PHP”nin print() fonksiyonundan
yararlanıyor; ancak bu fonksiyonun nasıl kullanılacağını, nasıl
işletileceğini de belirliyorlar. Buna göre bazı fonksiyonlarımız $metin
adlı değişkenin değerini önüne ve arkasına bir HTML etiketi koyarak
Browser”a gönderiyor; birisi ise sadece $metin değişkenin tuttuğu
değerin sonuna bir HTML etiketi koyduruyor.
Fonksiyonlarımı
buradaki örnekte olduğu gibi hemen oluşturulduktan sonra göreve
çağırmayız. Geleneksel olarak, bir programda kullanılacak fonksiyonlar,
programın baş tarafında toplanır ve daha sonra nerede gerekirse orada,
çağrılırlar. Fonksiyonları adlarını ve kendilerine verilmesi gereken
bir değer varsa o değeri parantez içinde yazarak çağırırız. Burada
olduğu gibi, fonksiyonu göreve çağırırken parantez içinde değerin
kendisini yazabileceğimiz gibi, bu değeri tutan bir değişkenin adını da
yazabiliriz.
<?php
function topla ($sayi1, $sayi2) {
$sonuc = $sayi1 + $sayi2;
return $sonuc;
}
function cikart ($sayi1, $sayi2) {
$sonuc = $sayi1 - $sayi2;
return $sonuc;
}
function carp ($sayi1, $sayi2) {
$sonuc = $sayi1 * $sayi2;
return $sonuc;
}
function bol ($sayi1, $sayi2) {
$sonuc = $sayi1 / $sayi2;
return $sonuc;
}
// Başka kodlar buraya girebilir
$sayi1 = 12;
$sayi2 = 5;
print topla($sayi1, $sayi2);
print (”<br>”);
print cikart($sayi1, $sayi2);
print (”<br>”);
print carp($sayi1, $sayi2);
print (”<br>”);
print bol($sayi1, $sayi2);
print (”<br>”);
?>
Bu
programda, dört aritmetik işlemi yapan dört ayrı fonksiyon
tanımlıyoruz. Fonksiyonlarımız kendilerini göreve çağıran komuttan,
kendilerine iki değer vermesini bekliyorlar ve bu değerleri $sayi1 ve
$sayi2 adlı değişkenlere yazıyorlar. Sonra herbiri, kendisinden
beklenen aritmetik işlemi yaparak, sonucunu $sonuc adlı değişkene
yazıyor. Burada dikkat edeceğimiz nokta, return komutudur. Bu komut,
f onksiyonun elde ettiği değeri, değeri tutan değişkenin adıyla,
fonksiyonu çağırmış olan satıra gönderir. return komutuyla, kendisini
göreve çağıran satıra değil fakat mesela başka bir fonksiyona da değer
gönderebiliriz:
return ( baska_fonksiyon ( $degisken)) ;
Etiketler : fonksiyonlar