PHP’de Function Kullanımı

Giriş sözlerini yazmakta biraz beceriksizim. Onun için kısaca function yapısından bahsedip direkt örneklere geçmek istiyorum.

Function (ya da Türkçesiyle fonksiyon) yapısı ile sık sık tekrarlayacağınız bir işlemi daha kolay yapabilirsiniz. Örneğin: Uzuuuun bir tane mektup örneğiniz var. Ama bu mektubun belli başlı yerler değişik.

Misal: Sadece Ad, Soyad, Şehir, Meslek, Maaş bölümleri değişik. Geri kalan tüm her yer aynı. Eee bu durumda ne yapacağız? Evet, mektubu tekrar tekrar yazmayacağız. Ad yazılacak yere $Ad değişkenini, Soyad yazılacak yerine $Soyad, Şehir yazılacak yere $Sehir, Meslek’e $Meslek, Maaş’a da $Maas değişkenlerini koyacağız. Değişkenler tam manasıyla bir değişken olacak ve her fonksiyonu çalıştırdığımızda farklı bir değer alacak.

Örnek:

<?php

function Mektup($ad,$soyad,$sehir,$meslek,$maas)
// burada fonksiyonda kullanılacak değişkenleri yazıyoruz.
{

$ileti  = "Merhaba" . $ad . " Ben varya ben " . $soyad . " soyadını kullanan insanlara bayılırım. Hem bir de " . $sehir . " şehrinde oturuyormuş. İyi kanım ısındı sana. Ayrıca " . $meslek . " işini yapıyormuşsun ne guzel. Herhalde bu meslekten ayda " . $maas . " lira kazanıyorsundur";
echo $ileti;
}

/* şimdi function ı aktif edeceğiz. Functionda belirlenen sıraya göre değerleri yazacağız */

Mektup("Ali","Kaya","Ankara","Mimar","2 bin TL");

?>

Bunu çalıştırdığınızda biraz ilginç bir mektup ile karşılaşacaksınızdır. :)

Global İşlemi

Global işlemi ile oluşturulan fonksiyonun dışında kalan değişkeni fonksiyon içine aktarmada kullanırız.
Örnek:

<?php

$ad = "Ali";

function isim_yaz() /* () şeklinde herhangi bir değişken belirtmeden fonksiyonlarda yapabilirsiniz.*/
{
global $ad; /* fonksiyon dışındaki $ad değişkenini fonksiyona aktardık. */
echo $ad; /* $ad değişkenini bastırdık ve ekrana Ali yazdırdık.”*/
}
isim_yaz(); /* fonksiyonu çalıştırdık */
?>

Bunu çalıştırdığınızda dışarıdaki $ad ı içeriye alıp ekrana yazıyor.

Static İşlemi

Static olayını örnek üzerinde anlatırsam daha iyi kavranacağını düşünüyorum. Onun için direkt aşağıdaki fonksiyonu çalıştırın.

<?php
function saydir(){
static $i = 0;
$i++;
echo $i . " mumdur" . "<br>";
}
saydir ();
saydir ();
saydir ();
?>

Bu fonksiyonu çalıştırdığınızda ekrana 1 mumdur, 2 mumdur, 3 mumdur yazacaktır. Farkettiyseniz 3 defa saydir(); yazdık. Yani 3 defa saydir() fonksiyonunu çalıştırdık. Her defasında da rakam +1 arttı. Ancak fonksiyonumuzun içindeki static i kaldırırsak. 1 mumdur, 1 mumdur, 1 mumdur yazacaktır.

Eğer static olmazsa saydir() fonksiyonu 1 kez çalışır ve 1’i ekrana yazar. $i değeri tekrar sıfırlanır. Tekrar saydir() yazdığımızda yine 1 yazar. Çünkü daha önce değer sıfırlanmıştı. Bir nevi Static koyarak sıfırlanmasını engelledik diyebiliriz.

Bir de return var onu da artık bir sonraki yazıda yazmaya çalışayım.

Not: Buraya kodları deneyerek koydum. Ama WordPress’e yazarken bir iki düzenleme yaptım. Kodların çalışıyor olması lazım. Çalışmıyorsa yorumlardan bana haber verirseniz sevinirim.

 
124 Kudos
Don't move

Yorum Yap


Not - Bunları KullanabilirsinizHTML tags and attributes:
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>