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 °eriBagla() { 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 1.857 kez görüntülendi.