为什么我不能在 PHP 中执行此操作?单例类在哪里Database
,getInstance() 返回一个 PDO 对象。
<?php
class AnExample
{
protected static $db = Database::getInstance();
public static function doSomeQuery()
{
$stmt = static::$db->query("SELECT * FROM blah");
return $stmt->fetch();
}
}
与任何其他 PHP 静态变量一样,静态属性只能使用文字或常量进行初始化;不允许表达。因此,虽然您可以将静态属性初始化为整数或数组(例如),但您不能将其初始化为另一个变量、函数返回值或对象。
http://php.net/manual/en/language.oop5.static.php
为什么?!