config.phpПрисвоение значения статической переменной в классе переменной
class Config {
public static $dbserver = "hostedserverURL";
}
DB.php
require 'Config.php'
class DB {
private $server = Config::$dbserver; // compile-error
private $user = "user";
private $password = "password";
private $database = "databasename";
private $db;
}
компиляции ошибки говорит "syntax error, unexpected '$dbserver', expecting 'identifier' or 'class'
"
Если удалить $
и смените строку на private $server = Config::dbserver;
, компилировать Электронная ошибка исчезла. но это неверно. В этом случае я получаю ошибку Runtime. Fatal error: Undefined class constant 'Config::dbserver' in ..
Так что я должен сохранить $
, также в соответствии с этой SO теме: Fatal error: Undefined class constant
Это где я использовать ее,
public function __construct()
{
$this->db = new PDO(
"mysql:host={$this->server};dbname={$this->database};charset=utf8",
$this->user,
$this->password
);
return $this;
}
Вопрос: Как я могу укажите статическую переменную dbserver
и сделайте это значением по умолчанию для $server
из class DB
? Любые идеи, пожалуйста,
Доступно только от [PHP 5.6] (https: //wiki.php. net/rfc/const_scalar_exprs) для некоторой части – DarkBee