SORU
9 EKİM 2008, PERŞEMBE


Nasıl PHP bir nesnenin bir kopyasını oluştururum?

PHP nesne başvurusu tarafından geçirilen gibi görünüyor. Hatta atama operatörleri Nesnenin bir kopyasını oluşturmak için görünmüyor.

Burada basit, yapmacık bir kanıt

<?php

class A {
    public $b;
}


function set_b($obj) { $obj->b = "after"; }

$a = new A();
$a->b = "before";
$c = $a; //i would especially expect this to create a copy.

set_b($a);

print $a->b; //i would expect this to show 'before'
print $c->b; //i would ESPECIALLY expect this to show 'before'

?>

Her iki durumda da baskı alıyorum '' . sonra

Nasıl geçtim mi yanibir dolariçin*set_b()*referans değer, değil mi?

CEVAP
9 EKİM 2008, PERŞEMBE


PHP 5 nesnelerine başvuru tarafından geçirilir. PHP 4 değerini (çalışma zamanı kaldırılmış oldu referans, geçmek zorunda yüzden) tarafından geçirilir.

'Klon' nesneleri kopyalamak için PHP5: operatörünü kullanabilirsiniz

$objectB = clone $objectA;

Ayrıca, sadece söz konusu başvuru, söylediğin gibi her şey değil tarafından geçirilen nesneler

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Benjamin Heckendorn

    Benjamin Hec

    4 Mayıs 2008
  • GoProTutorials

    GoProTutoria

    18 NİSAN 2011
  • Krumme1996

    Krumme1996

    21 EYLÜL 2009

İLGİLİ SORU / CEVAPLAR