Шаблоны проектирования Zend_Form и ООП - PullRequest
1 голос
/ 16 июня 2009

Как правильно использовать Zend_Form для создания конкретных форм приложения

1) Использование «extends» и производного класса

class MyForm extends Zend_Form {

 public function __construct() {
  $el = $this->createElement('text', 'el');
  $this->addElement($el);
  // ...
 }

}

2) Или с использованием шаблона делегирования / прокси

class MyForm {

 private $_form;

 public function __construct() {
  $this->_form = new Zend_Form();
  $el = $this->createElement('text', 'el');
  $this->_form->addElement($el);
  // ...
 }

 public function __call($I_method, $I_params) {
   // ... forwarding calls to private delegate
 }

}

Ответы [ 2 ]

1 голос
/ 16 июня 2009

Я создаю классы Form согласно этому примеру и использую помощник для их создания. Вдохновение пришло от Мэтью Вейера О'Финни, руководителя проекта ZF, поэтому я рад принять это за хорошую практику.

0 голосов
/ 17 июня 2009

Я использую

My_Form extends Zend_Form

, а затем

My_Form_ConcreteImplementation extends My_Form

Класс My_Form используется для установки декораторов и прочего по умолчанию, а конкретная имплементация добавляет элементы и обрабатывает бизнес, если это необходимо. Это делает его сухим, и это то, что вам нужно. Не нужно придерживаться академических принципов : P

...