OO PHP 未定义的变量


OO PHP undefined variables

我正在尝试OO PHP,但是当我尝试代码时,我收到错误,说dbhost,dbuser,dbpass和dbname未定义。Netbeans 还向我发出警告,指出它们可能未初始化。删除静态关键字会给我一个错误,说"意外的"$dbhost"。有谁知道我做错了什么?

<?php
class DatabaseManager {
private static $dbhost = 'localhost';
private static $dbuser = 'root';
private static $dbpass = '';
private static $dbname = 'app_db';
public static function getConnection(){
    $dbconn;
    try {
    $dbconn = new PDO('mysql:host='.$dbhost,'dbname='.$dbname,
    $dbuser, $dbpass);
    } catch (PDOException $e) {
        echo "Could not connect to database";
        echo $e;
        exit;
    }
    return $dbconn;
}
}
?>

你已经声明了你的变量是静态的。 在 php 5.2 或更高版本中像这样引用它们:

$dbconn = new PDO('mysql:host='.self::$dbhost,'dbname='.self::$dbname,
                   self::$dbuser, self::$dbpass);   

在 PHP 5.3 或更高版本中,如果将它们从私有设置为受保护,您还可以使用:

$dbconn = new PDO('mysql:host='.static::$dbhost,'dbname='.static::$dbname,
                   static::$dbuser, static::$dbpass);   

它们的行为类似,但如果扩展类,则 static 关键字允许后期静态绑定。