Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/292.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何创建动态PHP类_Php - Fatal编程技术网

如何创建动态PHP类

如何创建动态PHP类,php,Php,我有一个类配置。每当'localhost'位于$\u服务器['HTTP\u HOST']中时,我希望$db\u主机是'localhost'。默认情况下,它应该是“defaulthost” class Config { public static $db_username = 'username'; public static $db_password = 'password'; public static $db_database = 'database';

我有一个类配置。每当
'localhost'
位于
$\u服务器['HTTP\u HOST']
中时,我希望$db\u主机是
'localhost'
。默认情况下,它应该是
“defaulthost”

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

您只需要声明属性$db\u 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';
        }
    }
}

您应该像使用db_数据库一样初始化db_主机;-)

所以<代码>公共静态$db_主机应该解决这个问题。。。