Hi,
Ich bin gerade dabei eine Config Klasse in PHP5 zu schreiben. Bis jetzt kann sie .ini oder .xml Files auslesen, welche als mehrdimensionales array gespeichert werden dieses Array möchte ich gerne mit der "magischen" __get() Funktion abfragen, was aber nicht so funktioniert wie ich möchte.
PHP-Code:
// _data beinhaltet das mehrdimensionale array
public function __get($name)
{
$result = null;
if (isset($this->_data[$name])) {
$result = $this->_data[$name];
}
return $result;
}
Die Abfrage sieht dann so aus:
PHP-Code:
$config = new Config(Config_Ini::load('config.ini')); //die config.ini wird als array in _data gespeichert.
$config->test //das funktioniert noch, würde array("testwert" => "test") beinhalten
$config->test->testwert //sollte eigentlich string "test" sein funktioniert aber nicht...
Die __get() funktion übergibt $name ja selbstständig, ich hab also überprüft wie $name aussieht wenn man den testwert aufrufen möchte. Aber anstatt "test->testwert" stand dort einfach nur "test" innen.
Weiß jemand wie ich das Problem lösen kann?