abstract class API_MODEL {
protected static $_TABLE;
public static function getById($ID)
{
var_dump(self::$_TABLE);
}
}
class MODEL_NEWS extends API_MODEL {
protected static $_TABLE = 'news';
}
MODEL_NEWS::getById(23); // переменная self::$_TABLE является NULL - т.е. родитель получает собственное значение.
Именно это и надо сделать.ты привязываешь имя таблицы к класс
class Articles extends Zend_Db_Table_Abstract
{
// Имя таблицы
protected $_name = 'articles';
}
$model = new Articles();
$model->delete($where); // метод из родителя который обращается к переменной наследника $this->_name;
это невозможно, на данный моментМне хотелось бы сделать так же, но статическое без создания объектов
А зачем все статическое? Если нужно, чтобы какой-то объект был только один, делай синглтон. Чем не устраивает?Мне хотелось бы сделать так же, но статическое без создания объектов.
А для чего нужны объекты?А зачем все статическое?
Ну раз не нужны объекты, зачем тогда классы? )А для чего нужны объекты?
class MODEL_USERS
{
static $_TABLE = 'users';
protected function _prepareFrom(&$item) // в родителе этот метод пустой.
{
$item['^DETAIL_PAGE'] = 'users/' . $item['id'];
}
}
