2014-02-06 3 views
0

У меня есть класс Config. Всякий раз, когда 'localhost' находится в $_SERVER['HTTP_HOST'], я хочу, чтобы $ db_host был 'localhost'. По умолчанию это должно быть 'defaulthost';Как сделать динамический класс PHP

class Config { 

    public static $db_username = 'username'; 
    public static $db_password = 'password'; 
    public static $db_database = 'database'; 

    public function __construct() { 
     $host = 'defaulthost'; 
    if(stristr($_SERVER['HTTP_HOST'],'localhost')){ 
     $host = 'localhost'; 
    }; 
     self::$db_host = $host; 
    } 
} 

Этот код дает мне ошибку

Fatal error: Access to undeclared static property: Config::$db_host in /Users/aakilfernandes/Dropbox/Projects/codeharmony/scripts/dev/v02/class/Database.php on line 98 
+0

так ... 'публичный статический $ DB_HOST,' должен исправить это до ... –

ответ

2

Вам просто нужно объявить свойство $ DB_HOST.

class Config { 
    public static $db_username = 'username'; 
    public static $db_password = 'password'; 
    public static $db_database = 'database'; 
    public static $db_host = 'defaulthost'; 

    public function __construct() { 
     if (stristr($_SERVER['HTTP_HOST'], 'localhost')){ 
      self::$db_host = 'localhost'; 
     } 
    } 
} 
0

Вы должны инициализировать DB_HOST таким же образом, как вы делали с db_database ;-)

Смежные вопросы