PHP: referans sınıf örneğini?

2 Cevap php

PHP 5.3 için bazı eski PHP 4.x kodu dönüştürme değilim. Ben aşağıda geldim ve ben ne yapar emin değilim.

$variable =& new ClassName();

Ne arasındaki fark, ve:

$variable = new ClassName();

2 Cevap

PHP4 Ye Olde gün, = & nesnelerin yapımında gerekli oldu. PHP 5, öyle değil.

=& referans atama yapar.

ÖRNEĞİN:

$a = 'a';
$b =& $a;
$b = 'b';
echo $a; // Prints 'b', since a and b have been linked by &=.

Diğer bir deyişle, bir nesnenin örneğini sadece zaman değil, kendi kullanımları vardır. Bu kullanım için, depreacted oldu.

PHP4, nesneler yerine referansla değil, varsayılan değer geçirildi. Bu nesnenin bir kopyasını atama üzerine yapıldığı anlamına gelir. Eğer referans olarak yerine değeriyle nesneyi geçmek istedim, & operatörü kullanabilirsiniz. PHP5'ta, nesneler varsayılan olarak başvuruya göre iletilir. Nesneler ile uğraşırken Yani & artık gerekli değildir. Enbasitögeleri (ya da genellikle PHP dünyasında denir gibi skalerler) hala varsayılan değer geçirilir.

Ben PHP5 OO PHP4 kod geçirirken, oldukça çok & s kaldırıldı olsun bulabilirsiniz.