andi_b: PHP4 -> PHP5

Beitrag lesen

abend,

moin,

abgesehen davon, dass du x schreibfehler drin hattest, lag das problem an der zuweisung des übergebenen objektes. du musst in dem fall immer explizit mit referenzena arbeiten, da sonst geklont wird.

so gehts:

<?php
class MainClass {
 var $data;
 var $helper;
 var $id;

function MainClass() {
   $this->data = array();
   $this->helper = & new HelperClass( & $this ); //referenz übergeben
   $this->addData();
 }
 function addData() {
   $this->helper->addDataToArr();
   print_r($this->data);
 }
}

class HelperClass {
  var $mainClassObject;
  function HelperClass( $obj ) {
    $this->mainClassObject = & $obj; //referenz übergeben
  }
  function addDataToArr() {
    $this->mainClassObject->data['key'] = 'val';
  }
}

$mc = & new MainClass();
?>

viele grüsse,
andi