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

  • KliptOut KwazeeKilla

    KliptOut Kwa

    24 ŞUBAT 2010
  • RFS Dan

    RFS Dan

    22 Temmuz 2014
  • Soulkiller13 ツ

    Soulkiller13

    30 Mayıs 2013