Gönderimler Nedir? Php’de Nasıl Kullanılır?

Merhabalar,

Php’de gönderimler çok bilinmemek ile birlikte oldukça önem taşımaktadır.

PHP’de gönderimler aynı değişken içeriğine farklı isimlerle erişmek demektir. Değişken içeriği ve değişken ismi farklı şeylerdir. Bu bakımdan, aynı içeriğin farklı isimleri olabilir. En yakın benzerlik, Unix dizin isimleri ve dosyaları ile kurulabilir; değişken isimleri dizinlerse, değişken içeriği de dizinin içindeki dosyadır. Gönderimler ise Unix dosya sistemindeki sabit bağlar olarak düşünülebilir.

Php’de 3 çeşit gönderim yapabiliriz.

  • Gönderimli atama
  • Gönderimli aktarım
  • Gönderimli değer döndürme

Daha detaylı bilgi için https://www.php.net/manual/tr/language.references.whatare.php sayfasına bakabilirsiniz.

01. Gönderimli Atama

Bunun anlamı, “$a” ve “$b” değişkenlerinin aynı içeriği gösterdiğidir.

<?php

$a=100;
$b=10;

$a =& $b; // Gönderilmli Atama

echo $a; // 10
echo $b; // 10

$a=1000; // Sadece $a'yı veya $b'yi değiştirsek bile ikiside değişmiş oluyor.

echo $a; // 1000
echo $b; // 1000

?>

02. Gönderimli Aktarım

“$deger” değişkeninin 100 olmasının sebebi Gonderimli_Aktarim() fonksiyonunda “$aktarim” değişkeninin “&” karakteri ile “$deger” değşkeninin içeriğine gönderimli olmasıdır.

<?php

$deger=10;

function Gonderimli_Aktarim ( & $deger )
{
    // $deger değişkenini içeriği 10
    $aktarim = 100;
    $deger = $aktarim;
    // $deger değişkenini içeriği 100
}

Gonderimli_Aktarim($deger);

echo $deger; // 100

?>

03. Gönderimli Değer Döndürme

Aşağıda sadece “$sinif->sayi” değişkenine “1” değerini aktardığımız halde “$degerim” değişkeninin de değiştiğini görüyoruz. Veya tam tersi “$degerim” değişkenine “100” değerini aktardığımızda da “$sinif->sayi” değişkeninin değiştiğini görüyoruz.

<?php

class gonderimle_Dondurme {

    public $sayi = 10;

    public function &degeriBagla() {
        return $this->sayi;
    }
}

$sinif = new gonderimle_Dondurme();

$degerim = &$sinif->degeriBagla(); // $degerim, $class->sayi için bir gönderimdir

echo $degerim ; // 10

$sinif->sayi = 1;

echo $degerim ; // 1

//---------------------------------------

$degerim=100;

echo $sinif->sayi; // 100

$sinif->degeriBagla(); // 100

?>

Bu sayfa 251 kez görüntülendi.

Ahmet

Sıradan bloglardan birisi :) Google+

Bunlar da hoşunuza gidebilir...

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

Yorum onaylama sistemi etkin; yorumunuzun yayınlanması biraz zaman alabilir.