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

  • FOSDEM

    FOSDEM

    13 Ocak 2009
  • SaraBeautyCorner - Nails and Nail Art Designs, DIY, Fashion & Makeup Tutorial

    SaraBeautyCo

    7 EKİM 2012
  • Wii Minute Radio

    Wii Minute R

    31 Mayıs 2008