Mailinglisten-Archive |
Hallo Liste!
ich habe auf einem Shared Hoster das die PHP4.3.3 Version noch einsetzt ein
kleines Porb. Wenn ich in der Klasse bzw. Methode mittels session_start()
eine Sitzung starte, wird spätestens beim zweiten aufruf der Seite $this mit
den Inhalt der Sessoin überschrieben im schlimmesten Fall ist $this leer
bzw. NULL!? Starte ich die Sitzung ausserhalb der Klasse ist alles in
Ordnung!?
<code>
class Foo {
var $foo = array();
function Foo() {}
function setSomeData() {
$this->foo = array(
'Foo' => 'foo',
'bar' => 'bar'
);
}
function start() {
$this->setSomeData();
$tmpThis = print_r($this, true);
session_start();
print '<pre>';
print($tmpThis);
print '<br>';
var_dump($this);
print '</pre>';
$_SESSION['foo'] = $this->foo;
}
function getFoo() {
return $this->foo;
}
}
$foo =& new Foo();
$foo->start();
</code>
<ausgabe>
foo Object
(
[foo] => Array
(
[Foo] => foo
[bar] => bar
)
)
array(2) {
["Foo"]=>
string(3) "foo"
["bar"]=>
string(3) "bar"
}
</ausgabe> Ist es ein Bug!? Oder ist sitzt der Bug direkt vor dem Monitor ;)
php::bar PHP Wiki - Listenarchive