Gönderimlerle İlgili Herşey
PHP Manual

Gönderimle Döndürme

Gönderimle döndürme, gönderimin bağlayacağı değişkeni hedefleyen bir işlev kullanmak istediğiniz takdirde yararlıdır. Gönderimle döndürmeyi başarımı arttırmak amacıyla kullanmayın. Motor, bunu kendine göre en iyileyecek yeteneğe sahiptir. Sadece geçerli bir teknik sebebiniz olduğunda gönderimle döndürme yapın! Gönderimle döndürmek için şu söz dizimi kullanılır:

<?php
class sınıf {
    public 
$değer 42;

    public function &
değeriBağla() {
        return 
$this->değer;
    }
}

$obj = new sınıf;
$değerim = &$obj->değeriBağla(); // $değerim, $obj->değer için bir gönderimdir
echo $değerim;                   // 42 basar
$obj->değer 2;
echo 
$değerim;                   // 2 basar
?>
Bu örnekte, değeriBağla işlevi ile döndürülen nesne özelliği değişkene atanmaktadır, eğer gönderim söz dizimi kullanılmamış olsaydı özelliğin kendisi değil bir kopyası atanmış olacaktı.

Bilginize: Değiştirge aktarmanın tersine, burada her iki taraftada (çağıran ve çağrılan) & kullanımı zorunludur. Çağıran tarafta $değerim değişkenine yapılanın bir atama değil gönderim bağlantısı olduğunu, çağrılan tarafta ise yapılanın sıradan bir değer kopyalama değil bir gönderimle döndürme olduğunu belirtmektedir.

Bilginize: return ($this->değer); söz dizimi ile bir işlevden bir gönderim döndürmek isterseniz bir değişkeni değil de bir ifadenin sonucunu döndürmeye çalışmış olacağınızdan bu istediğinizi yapmayacaktır. Bir işlevden gönderimle sadece değişkenleri döndürebilirsiniz, başka bir şey döndüremezsiniz. PHP 4.4.0 ve PHP 5.1.0'dan beri gönderimle döndürme söz dizimini kullanan bir işlevden bir devingen ifadenin veya bir new işlecinin sonucunu döndürmeye çalışmak E_NOTICE seviyesinden bir hata oluşturmaktadır.


Gönderimlerle İlgili Herşey
PHP Manual