0 Üye ve 1 Ziyaretçi Konuyu İncelemekte. Aşağı İn :)
Sayfa 1
Konu: Fonksiyon Tanımlama Ve Çağırma  (Okunma Sayısı: 1436 Kere Okundu.)
« : Temmuz 04, 2008, 03:25:39 ÖÖ »

[B]a[R]a[N]
*
Üye No : 4
Yaş : 33
Nerden : İstanbul
Cinsiyet : Bay
Konu Sayısı : 5706
Mesaj Sayısı : 27 762
Karizma = 62877


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:
<HTML>
<HEAD>
<TITLE>PHP'de Fonksiyon</TITLE>
<meta http-equiv="content-type" content="text/html; charset=ISO-8859-9">
<meta http-equiv="Content-Type" content="text/html; charset=windows-1254">
</HEAD>
<BODY>
<?php
function yazdirBR ($metin) {
print ("$metin
\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. Bu programı çalıştırırsanız, Browser'da bu görüntüyü elde edebilirsiniz:
Şimdi, bu penceredeki belgenin kaynağını görüntüleyelim. Karşımıza şuna benzer bir metin çıkmış olması gerekir:
<HTML>
<HEAD>
<TITLE>PHP'de Fonksiyon</TITLE>
<meta http-equiv="content-type" content="text/html; charset=ISO-8859-9">
<meta http-equiv="Content-Type" content="text/html; charset=windows-1254">
</HEAD>
<BODY>
<h1>Bu H1 Başlık</h1>
<h2>Bu H2 Başlık</h2>
<h3>Bu H3 Başlık</h3>
<h4>Bu H4 Başlık</h4>
Bu kendisinden sonra BR olan birinci metin.

Bu kendisinden sonra BR olan ikinci metin.

<p>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.</p>
<p>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.</p>
</BODY>

</HTML>
Bu, bize, oluşturduğumuz bütün fonksiyonların kendilerinden bekleneni yaptığını ve kendilerine verdiğimiz metinleri, tıpkı istediğimiz gibi, arzu edilen HTML etiketleri ile birlikte Browser'a gönderdiklerini gösteriyor.
Buradaki fonksiyon, kendisini bir iş yapan türden fonksiyondur. Oysa kimi zaman fonksiyonlar, kendilerini göreve çağıran komuta bir değer gönderirler. Şimdi de böyle bir fonksiyon örneği yazalım. Aşağıdaki kodu, hesapla.php adıyla kaydedin:
<HTML>
<HEAD>
<TITLE>PHP'de Fonksiyon</TITLE>
<meta http-equiv="content-type" content="text/html; charset=ISO-8859-9">
<meta http-equiv="Content-Type" content="text/html; charset=windows-1254">
</HEAD>
<BODY>
<?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 ("
");
print cikart($sayi1, $sayi2);
print ("
");
print carp($sayi1, $sayi2);
print ("
");
print bol($sayi1, $sayi2);
print ("
");
?>
</BODY>
</HTML>
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_fonksiynon ( $degisken)) ;
Fonksiyonun return satırında böyle bir başka fonksiyonun adı yazmıyorsa, bulunan değer göreve çağıran satıra gönderilir.
Bu program, içine bizim yazdığımız iki değeri hesaplayarak, Browser'a gönderecektir. Ancak bu değerler ziyaretçinin dolduracağı bir formdan alınabileceği gibi, program tarafından da hesaplanabilir
Bu sayfanın kaynağındaki HTML kodları ise şöyla olacaktır:
<HTML>
<HEAD>
<TITLE>PHP'de Fonksiyon</TITLE>
<meta http-equiv="content-type" content="text/html; charset=ISO-8859-9">
<meta http-equiv="Content-Type" content="text/html; charset=windows-1254">
</HEAD>
<BODY>
17
7
60
2.4

</BODY>
</HTML>
Fonksiyonlarımız, kendilerinden bekleneni yaparak, gereken hesaplamanın sonucunu, kendilerini göreve çağıran komuta, burada PHP'nin print() fonksiyona göndermiş; bu fonksiyon da sadece bu sonuçları Browser'a iletmiş bulunuyor.
« Son Düzenleme: Eylül 14, 2011, 12:30:54 ÖÖ Gönderen : honey_face »

İstek & Öneri ve Şikayetlerinizi: link (@) webcanavari . net Adresine İletebilirsiniz.
WeBCaNaVaRi Botu

Bu Site Mükemmel :)

*****

Çevrimİçi Çevrimİçi

Mesajlar: 222 194


View Profile
Re: Fonksiyon Tanımlama Ve Çağırma
« Posted on: Mart 28, 2024, 04:45:07 ÖS »

 
      Üye Olunuz.!
Merhaba Ziyaretçi. Öncelikle Sitemize Hoş Geldiniz. Ben WeBCaNaVaRi Botu Olarak, Siteden Daha Fazla Yararlanmanız İçin Üye Olmanızı ŞİDDETLE Öneririm. Unutmayın ki; Üyelik Ücretsizdir. :)

Giriş Yap.  Kayıt Ol.
Anahtar Kelimeler: Fonksiyon Tanımlama Ve Çağırma e-book, Fonksiyon Tanımlama Ve Çağırma programı, Fonksiyon Tanımlama Ve Çağırma oyunları, Fonksiyon Tanımlama Ve Çağırma e-kitap, Fonksiyon Tanımlama Ve Çağırma download, Fonksiyon Tanımlama Ve Çağırma hikayeleri, Fonksiyon Tanımlama Ve Çağırma resimleri, Fonksiyon Tanımlama Ve Çağırma haberleri, Fonksiyon Tanımlama Ve Çağırma yükle, Fonksiyon Tanımlama Ve Çağırma videosu, Fonksiyon Tanımlama Ve Çağırma şarkı sözleri, Fonksiyon Tanımlama Ve Çağırma msn, Fonksiyon Tanımlama Ve Çağırma hileleri, Fonksiyon Tanımlama Ve Çağırma scripti, Fonksiyon Tanımlama Ve Çağırma filmi, Fonksiyon Tanımlama Ve Çağırma ödevleri, Fonksiyon Tanımlama Ve Çağırma yemek tarifleri, Fonksiyon Tanımlama Ve Çağırma driverları, Fonksiyon Tanımlama Ve Çağırma smf, Fonksiyon Tanımlama Ve Çağırma gsm
Yanıtla #1
« : Aralık 13, 2008, 04:15:30 ÖS »
Avatar Yok

By.TuRuT
*
Üye No : 773
Nerden : Rize
Cinsiyet : Bay
Konu Sayısı : 19239
Mesaj Sayısı : 48 228
Karizma = 65220


Sağol.

İstek & Öneri ve Şikayetlerinizi: WeBCaNaVaRi'na Üye Olmadan Link'leri ve Kod'ları Göremezsiniz.
Link'leri Görebilmek İçin. Üye Ol. veya Giriş Yap.
Adresine İletebiliriniz.
Sayfa 1
Yukarı Çık :)
Gitmek istediğiniz yer:  


Benzer Konular
Konu Başlığı Başlatan Yanıtlar Görüntü Son Mesaj
Ruh Çağırma!!
Geyik Muhabbeti
ebru_cq 3 1053 Son Mesaj Nisan 28, 2008, 08:16:44 ÖS
Gönderen : Robert
Ruh Çağırma
Helal ve Haramlar
FeMoX 2 1213 Son Mesaj Haziran 20, 2009, 08:25:54 ÖS
Gönderen : BemaGül
Erektil Fonksiyon Bozukluğu
Ruh Sağlığı
Asortik Hatun 0 640 Son Mesaj Ocak 24, 2013, 11:52:44 ÖÖ
Gönderen : Asortik Hatun
Fonksiyon (genel)
AÖF 1. Sınıf Ders Notları
imge34 0 818 Son Mesaj Eylül 02, 2013, 09:59:33 ÖS
Gönderen : imge34
Cinsel Fonksiyon Sorunları
Cinsel Sağlık
SaviorAngel 0 603 Son Mesaj Ocak 03, 2016, 08:38:21 ÖS
Gönderen : SaviorAngel


Theme: WeBCaNaVaRi 2011 Copyright 2011 Simple Machines SiteMap | Arsiv | Wap | imode | Konular