Автор оригинала: triumvirat
Когда мы в один базовый/суб класс пихаем какой-то код, например
PHP:
class base
{
public function __construct(){
$this->main = Zend_Registry::get('main_dbAdapter');
$this->local = Zend_Registry::get('local_dbAdapter');
}
то этот базовый класс становится базовым для всех контроллеров, в которых НУЖНЫ экземпляры $this->main, $this->local. Что будет, когда нам понадобится в другом классе ещё и экземпляр $this->other? Правильно, мы напишем класс с дублирующим кодом:
PHP:
class base2
{
public function __construct(){
$this->main = Zend_Registry::get('main_dbAdapter');
$this->local = Zend_Registry::get('local_dbAdapter');
[b]$this->other = Zend_Registry::get('Other');[/b]
}
ценности от подобного кодинга - ноль. Ибо на практике все выльется в громоздкую конструкцию base-контроллеров.
Поэтому я ЗА компонентный подход.