Navigate / search

Fonksiyon Değişkenini Globalleştirme

Fonksiyonlarımızda tanımladığımız parametreler fonksiyon dışında çalışmaz.Hemen bunu ufak bir örnekle göstereyim.

1
2
3
4
5
6
$sayimiz=4;
function iki_ile_carp ($sayi){
      $sayi=$sayi*2
}
iki_ile_carp($sayimiz);
echo $sayi;

Fonksiyonda parametremizden gelen değeri fonksiyon içinde iki ile çarptırıp tekrar fonksiyon parametresi olan $sayi değişkeninin içine kaydettik.Fonksiyon dışına çıkıp echo $sayi; komutuyla $sayi değişkenini yazdırmak istediğimizde sonuç boş olacaktır.Çünkü $sayi değişkeni fonksiyonun yerel değişkenidir.Bu değişkeni fonksiyon dışında kullanmak istersek fonksiyon parametresi tanımlarken değişkenin önüne bir “referans” simgesi koymamız gerekir.function iki_ile_carp (&$sayi)

1
2
3
4
5
6
$sayimiz=4;
function iki_ile_carp (&$sayi){
      $sayi=$sayi*2
}
iki_ile_carp($sayimiz);
echo $sayi;

Değişkenimizin önüne & simgesi koyduktan sonra fonksiyonun yerel parametresi olan $sayi değişkenini fonksiyon dışındada kullanabilmiş olacağız.Yani Değişkenimiz Global bir değişken olmuş olacak.

Fonksiyona Varsayılan Değer Belirtme

Fonksiyona Varsayılan Değer Belirtme
Fonksiyonlarımız için paremetre belirtme ve parametre ile çağırmayı öğrendik.Peki parametre ile tanımlayıp,fonksiyonu çağırırken parametre belirtmez isek ne olur ? Cevap basit, Hata Verir. Bu hatayı almamak için bir varsayılan (default) değer belirlememiz gerekir.Default değerini fonksiyon tanımlanırken parametre yani argümanımız kısmına yazacağız.Bir önceki örneği baz alarak varsayılan değer tanımlamayı öğrenelim.

1
2
3
4
5
6
7
8
function yinele($sayi=3){
      if ($sayi<=10){
            echo "Sayımız = $sayi"."<br>";
            yinele($sayi+1);
      {
}
yinele();
yinele(1);

Bir önceki örnekten farklı olarak fonksiyonu tanımlarken “yinele($sayi=3)” şeklinde tanımladık.Bu şekilde default’u tanımlanmış fonksiyonları çağırırken parametre kısmına herhangi bir değer vermez iseniz “yinele();” fonksiyon içinde değişkenimizi 3 olarak alacaktır.Fakat fonksiyonu çağırırken parametre kısmına değer verirsek “yinele(1);” bizim belirlediğimiz değeri alacaktır fonksiyon parametresi.

Kendi Kendini Çağıran Fonksiyon

Şimdide fonksiyonumuzun kendi kendisini çağırmasını anlatacağım.Bu bize nerde yarayacak diye düşünür olursanız PHP programlama dilinde biraz profesyonel kodlamaya geçtikten sonra bu gibi durumlara ihtiyacınız olduğunu göreceksiniz.Vakit kaybetmeden ufak bir örnekle gösteriyorum.

1
2
3
4
5
6
7
function yinele($sayi){
      if ($sayi<=10){
            echo "Sayımız = $sayi"."<br>";
            yinele($sayi+1);
      {
}
yinele(1);

Fonksiyonumuzu oluşturduktan sonra 1 parametresini vererek fonksiyonumuzu çalıştırıyoruz.Fonksiyonumuz çalışmaya başladığında if ile bir sorgulama yapıyoruz.parametreden gelen $sayi değişkenimiz eğer 10dan küçükse {} ayraçları arasındaki işlemi yap diyoruz ve echo() sayesinde “Sayımız = 1” yazısını ekranda görüyoruz.Fonksiyon içinde fonksiyonu tekrar çağırıyoruz.Ama bu sefer bir arttırıyoruz parametremizi.Programı çalıştırdığımızda 1 a kadar böyle gittiğini göreceksiniz.

Fonksiyon İçinde Fonksiyon Çağırma

Php Programla dilinde Fonskiyonları kullanırken bazı durumlarda (Bu durumları ilerde göreceğiz) fonksiyon içinde fonksiyon kullanmamız gerekebilir.Bu ne demek oluyor.Fonksiyon örneğimizdeki fonksiyonun içeriği olan komutları yazdığımız kısım yani kod bloğu yerine bir fonksiyon daha ekleyebiliriz.Buraya kadar tamam fonksiyonu oluşturduk ama fonksiyon içindeki fonksiyonu çağırabilmemiz için önce ilk fonksiyonumuzu çağırmamız gerekecek.

1
2
3
4
5
6
7
function dis_fonk () {
      function ic_fonk(){
            echo "Fonksiyon Başarıyla çağrıldı.";
      {
}
dis_fonk(); // Dış fonksiyonumuzu çağırmasaydık, İç fonksiyonumuz çalışmayacaktı.
ic_fonk();