alexeyco
Новичок
Магический метод __get в статическом классе
Добрый день!
Такая тема.. к примеру, есть класс
Тогда при следующей конструкции типа:
В него должен подгрузиться некий файлик.... НО при обращении к некоторому значению конфига типа
Происходит ошибка типа Fatal error: Access to undeclared static property: Config::$db_type
-~{}~ 24.02.10 18:27:
А... пардон - ну и соответственно вопрос... Что делать? Я пытался погуглить но так и не понял - это баг или фича?
Добрый день!
Такая тема.. к примеру, есть класс
PHP:
<?php
/**
* Class for working with config array
*/
class Config {
/**
* Config array
* @var array
*/
private static $_config = array();
/**
* Loaded files
* @var array
*/
private static $_loadedFiles = array();
/**
* Loaded domains
* @var array
*/
private static $_loadedDomains = array();
/**
* Load new config file
* @param string $file
* @return self
*/
public static function loadFile($file) {
if (!in_array($file, self::$_loadedFiles)) {
require_once DIRECTORY_CONFIG . $file . '.' . PHP_EXT;
self::$_loadedFiles[] = $file;
self::$_config = array_merge(self::$_config, $config);
}
} // loadFile();
/**
* Loads the config of a domain
* @param string $domain
* @return self
*/
public static function loadDomainConfig($domain) {
if (!in_array($domain, self::$_loadedDomains)) {
}
return self;
} // loadDomainConfig();
/**
* Returns the value of a config index
* @static
* @param string $index
* @return string
*/
public function __get($index) {
return (isset(self::$_config[$index])) ? self::$_config[$index] : null;
} // __get();
} // Config
?>
PHP:
Config::loadFile('db');
PHP:
echo Config::$db_type;
-~{}~ 24.02.10 18:27:
А... пардон - ну и соответственно вопрос... Что делать? Я пытался погуглить но так и не понял - это баг или фича?
