djman
Registered
PHP:
namespace xxx;
class Config {
private static $_instance = null;
private $_config_dir = null;
private function __construct() {
echo '1: '.var_dump($this->_config_dir).'<br>';
$this->_config_dir = $this->setConfigDir('../config/');
echo '4: '.var_dump($this->_config_dir).'<br>';
}
public function setConfigDir($dir) {
$_dir = realpath($dir);
if($_dir && is_readable($_dir) && is_dir($_dir)) {
$this->_config_dir = $_dir;
echo '2: '.var_dump($this->_config_dir).'<br>';
}
else {
throw new \Exception("Invalid config dir provided.");
}
echo '3: '.var_dump($this->_config_dir).'<br>';
}
public static function getInstance() {
if(self::$_instance == null)
self::$_instance = new \xxx\Config();
return self::$_instance;
}
}
PHP:
$test = \xxx\Config::getInstance();
Резултатът е много впечатляващ:
Код:
NULL 1:
string(51) "/home/xxx/www/public_html/yyy/config" 2:
string(51) "/home/xxx/www/public_html/yyy/config" 3:
NULL 4:
за (1) е ясно че няма как да покаже, 2 и 3 показват верен път, защо обаче след като завърши метода setConfigDir() променливата се нулира???