heyho
als ich letztens ne seite für nen freund geschrieben hab hab ich die zu hause unter php 5.2 entwickelt, bei ihm auf dem server arbeitet allerdings php 4.4.8
ich das also einfach mal hochgeschaufelt und mit einem problem zu kämpfen gehabt was keinen fehler produziert hat, sondern schlicht anders funktionierte.
um das mal zu zeigen hab ich folgenden code gebastelt:
unter php 5 kommt das von mir erwartete ergebnis
auf dem webserver mit php 4.4.8 dagegen folgendes:
nach meinem verständnis behinhaltet doch nach der anweisung
die variabel $var einen pointer auf das objekt, wenn ich diesen pointer nun kopiere, hab ich doch aber noch immer das selbe objekt, auf welches gezeigt wird.
das stimmt soweit auch unter php5 aber unter php4 wird scheinbar das ganze objekt kopiert?
kann mir das jemand erklären?
als ich letztens ne seite für nen freund geschrieben hab hab ich die zu hause unter php 5.2 entwickelt, bei ihm auf dem server arbeitet allerdings php 4.4.8
ich das also einfach mal hochgeschaufelt und mit einem problem zu kämpfen gehabt was keinen fehler produziert hat, sondern schlicht anders funktionierte.
um das mal zu zeigen hab ich folgenden code gebastelt:
PHP:
<?php
class hauptklasse {
function hauptklasse() {
//nebenklasse bekommt das nebennebenklasse objekt eingefügt!
$nk = new nebenklasse();
$nnk = new nebennebenklasse();
//hier rein damit
$nk->obj = $nnk;
//funktion ausführen, die in der nebenklassen in der dritten klasse ne variable über eine funktion ändert
$nk->setzen();
//anschliessend den status abfragen
$nnk->status();
}
}
class nebenklasse {
var $obj;
function setzen() {
$this->obj->setzDieVariable();
}
}
class nebennebenklasse {
var $setzmich = "ich stehe noch";
function setzDieVariable() {
$this->setzmich = "setz dich auf den stuhl!";
}
function status() {
echo $this->setzmich;
}
}
new hauptklasse();
?>
unter php 5 kommt das von mir erwartete ergebnis
Code:
setz dich auf den stuhl!
auf dem webserver mit php 4.4.8 dagegen folgendes:
Code:
ich stehe noch
nach meinem verständnis behinhaltet doch nach der anweisung
PHP:
$var = new obj();
die variabel $var einen pointer auf das objekt, wenn ich diesen pointer nun kopiere, hab ich doch aber noch immer das selbe objekt, auf welches gezeigt wird.
das stimmt soweit auch unter php5 aber unter php4 wird scheinbar das ganze objekt kopiert?
kann mir das jemand erklären?