Собственно, вопрос глупый, но все же.
Имеются вводные данные:
Собственно, есть код, который путем вызова кода:
Получает данные из таблицы config, если там есть поле var равное test.
В случае прямого обращения, все работает нормально, но если написать:
Получаем полный крах. Есть мысли? Кто сталкивался.
PS: Предлагать переписать мне сие - не надо. Я просто задаю вопрос из теоретических соображений, сам от этого подхода я отказался.
Имеются вводные данные:
Код:
CREATE TABLE IF NOT EXISTS `config` (
`var` varchar(50) NOT NULL,
`value` varchar(250) NOT NULL,
UNIQUE KEY `var` (`var`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
PHP:
<?php
class Config extends Magic {
private static $_instance;
public static function getInstance() {
if (self::$_instance === NULL) {
self::$_instance = new self();
}
return self::$_instance;
}
private function __construct() {}
public function __get($name) {
if (is_object($data = parent::__get($name))) {
return $data;
} else {
return (($data = SQL::getInstance()->fetch('SELECT value FROM config WHERE var=:var', array(':var' => $name))) && !empty($data)) ? $data : false;
}
}
}
PHP:
echo Config::getInstance()->test;
В случае прямого обращения, все работает нормально, но если написать:
PHP:
echo (!empty(Config::getInstance()->test)) ? 'yes' : 'no';
PS: Предлагать переписать мне сие - не надо. Я просто задаю вопрос из теоретических соображений, сам от этого подхода я отказался.