Променливата изчезва?

  • Автор Автор djman
  • Начална дата Начална дата

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() променливата се нулира???
 

Back
Горе