[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Registry
VladKamyshanov
Привет всем. Хочу у вас одну штуку спросить. Вот есть у меня класс построенный по шаблону Registry. Что то вроде этого

class App{
private static $instance;
private $data = [];

public static function i(){ // getInstance()
if(empty(self::$instance))
self::$instance = new self;
return self::$instance;
}

public function __set($name, $value){
$this->name = $value;
}

public function __get($name){
if(isset($this->data[$name]))
return $this->data[$name];
return false;
}
}


И, положим, с ним работаем так:
App::i()->db = new db\Database("bla bla bla");


Но удручает тот факт, что нельзя сделать так:
App::i()->db->query('BLA * FROM bla');

ошибку выдаёт(

Есть ли какие-нибудь решения по этому поводу? Заранее всем спасибо
Dezigo
Цитата
ошибку выдаёт(

Что за ошибку? Перед Вами экстросенс
VladKamyshanov
Dezigo
вот)
Fatal error: Call to a member function query() on a non-object in Z:\home\test1.ru\app\index.php on line 32

Код файла)
Свернутый текст
header('Content-type: text/html;charset=utf8');
class App{
private static $instance;
private $data = array();

public static function i(){ // getInstance()
if(empty(self::$instance))
self::$instance = new self;
return self::$instance;
}

public function __set($name, $value){
$this->name = $value;
}

public function __get($name){
if(isset($this->data[$name]))
return $this->data[$name];
return false;
}
}



class Database{
public function query(){
echo "hello, world!";
}
}


App::i()->db = new Database();
App::i()->db->query();
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.