Некоторое время назад (когда точно – сказать не могу) появился класс Zend_Db_Table. В мануале про него информации нет, что довольно странно.
Заглянув в исходный код, можно заметить, что функциональности этот класс не имеет. Это абстрактный класс, и единственное, что он делает – наследует Zend_Db_Table_Abstract. Зачем он нужен – совершенно неясно. Поделюсь с вами своими мыслями на это тему.
Zend_Db_Table_Abstract – базовый класс, определяющий основной функционал. Он предназначен не для наследования напрямую классами таблиц, а для наследования классами, расширяющими его. Например, его наследует Zend_Db_Table. Пусть сам он пока пустой, но, мне кажется, очень скоро в него будет добавлен специфичный функционал.
Например, создаём мы свой абстрактный класс таблиц для того, чтобы расширить функционал Zend_Db_Table_Abstract. В таком случае, назовём мы свой класс App_Db_Table, и наследовать он будет Zend_Db_Table_Abstract. А если мы собираемся использовать базовый Zend_Db_Table без расширения функционала, то в своих классах таблиц мы будем наследовать Zend_Db_Table.
Надеюсь, объяснил не слишком путано. Повторюсь, всё, сказанное здесь, моё личное мнение.
Вопрос к читателям – что вы думаете по этому поводу? Есть логика в моих рассуждениях, или же я не прав?