To klasser, et array, og en masse problemer

Tags:    php

Jeg sidder med et lille problem. Jeg har 3 filer, class1.php , der.php og test.php
I får lige koden til dem her.

class1.php
<?php

class base
{

var $a;


function base()
{
$this->a = array();
}



function add($b)
{
array_push($this->a,$b);
}

function getArray()
{
print_r($this->a);
}


}

?>

der.php
<?php

class der
{

var $base;

function der($b)
{
$this->base = &$b;
}



function addSomethings()
{
$this->base->add("hej");
$this->base->add("Walle er sej");
$this->base->getArray();

}

}


?>

test.php
<?php
require_once("class1.php");
require_once("der.php");

$a = new base();
$d = new der($a);
$d->addSomethings();

$a->getArray();



?>

Som i kan se har jeg en base class med et array. hele objektet sender jeg videre til det objekt som bliver lavet ud fra der klassen. Jeg opdaterer her arrayet i der klassen, men når jeg, bagefter i test.php prøver at skrive det ud er arrayet tomt, men når jeg udskriver det i selve der klassen, så bliver den opdateret. Hvordan kan det være? Er det fordi at hele objektet jeg sender med bare bliver kopieret? Hvordan løser jeg dette problem? Jeg har prøvet at smide nogle refferencer ind, men jeg fik ingenting tilbage andet end det samme som før. Jeg har nok gjort det forkert.

Håber en eller anden kan hjælpe.

Mvh. Martin Slot

Slot - All your base are belong to us
http://www.sigsys.dk



2 svar postet i denne tråd vises herunder
1 indlæg har modtaget i alt 2 karma
Sorter efter stemmer Sorter efter dato
lav din der()-funktion i der klassen om til:

function der(&$b)
{
$this->base = &$b;
}

så virker det :)

du skal huske & oppe ved argumenterne :)

Hilsen

Martin Dybdal (Dybber)



lav din der()-funktion i der klassen om til:

function der(&$b)
{
$this->base = &$b;
}

så virker det :)

du skal huske & oppe ved argumenterne :)

Hilsen

Martin Dybdal (Dybber)


Hehe jeg har kun prøvet at smide den det ene af de steder :D Men ikke begge. Tak for hjælpen!!

Slot - All your base are belong to us
http://www.sigsys.dk



t