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.
Die Abfrage sieht dann so aus:
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?
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;
}
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...
Weiß jemand wie ich das Problem lösen kann?
Kommentar