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

  • Brendan van Son

    Brendan van

    5 Aralık 2006
  • Jimmie Jones

    Jimmie Jones

    16 Kasım 2007
  • waterfairy17

    waterfairy17

    9 Aralık 2007