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

  • Britec09

    Britec09

    4 Mart 2009
  • DavidParody

    DavidParody

    17 EKİM 2009
  • Crossover

    Crossover

    18 HAZİRAN 2007