Admin Kurucu / Root
Mesaj Sayısı : 552 Kayıt tarihi : 09/07/10 Yaş : 41 Nerden : Bursa
| Konu: PHP Fonksiyonlar C.tesi Eyl. 24, 2011 7:38 am | |
| PHP Fonksiyonlar Fonksiyon Tanımlama ve Çağırma
PHP"de 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>\n"); } function yazdirH1 ($metin) { print ("<h1>$metin</h1>\n"); } function yazdirH2 ($metin) { print ("<h2>$metin</h2>\n"); } function yazdirH3 ($metin) { print ("<h3>$metin</h3>\n"); } function yazdirH4 ($metin) { print ("<h4>$metin</h4>\n"); } function yazdirP ($metin) { print ("<p>$metin</p>\n"); } // 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)) ; | |
|