Это базовый сайт. Основываясь на ответах здесь, я делаю это:
private $db;
public function __construct($id = null) {
$this->db = Db::getInstance(); //singleton from the Db class
Но если есть статический метод, я не могу использовать переменную, специфичную для объекта.
Есть ли что-то лучше, чем указывать переменную db внутри статического метода вручную?
public static function someFunction($theID){
$db = Db::getInstance();
РЕДАКТИРОВАТЬ: Создание статической переменной не решает проблему. Access to undeclared static property
. Я все еще должен был бы назначить переменную в статической функции. Вопрос в том, есть ли способ обойти это.
Мой класс БД (хотя это и не важно для этого обсуждения):
class Db {
private static $m_pInstance;
private function __construct() { ... }
public static function getInstance(){
if (!self::$m_pInstance)
self::$m_pInstance = new Db();
return self::$m_pInstance;
}
}