iceman
говнокодер
Допустим, есть такой экшен:
Есть ситуация, когда форму во время прорисовки нужно запросить у Веб-Сервиса.
Например, в CreateProduct в конструкторе - происходит обращение и по результатам ответа добавляю элементы в форму.
При загрузке экшена index - инициализировали эту "тяжелую" форму и нарисовали.
Далее пользователь заполнил ее и сабмитит.
На сабмите опять идет обращение к веб-сервису, так как есть строчка $form = new CreateProduct(); которая сделает запрос.Что лишнее, зачем ведь еще раз просить форму, когда мы ее запрашивали.
У меня пока в голове только одна мысль, закешировать результат первого запроса к веб-сервису.
Если так, то куда его засунуть? в Модель?
Что еще можно придумать?
PHP:
/**
* @return array
*/
public function indexAction()
{
$product = new Product();
$form = new CreateProduct($product->getAttrsFromWebService());
if ($this->request->isPost()) {
$form->setData($this->request->getPost());
if ($form->isValid()) {
/***/
}
}
return array(
'form' => $form
);
}
Например, в CreateProduct в конструкторе - происходит обращение и по результатам ответа добавляю элементы в форму.
При загрузке экшена index - инициализировали эту "тяжелую" форму и нарисовали.
Далее пользователь заполнил ее и сабмитит.
На сабмите опять идет обращение к веб-сервису, так как есть строчка $form = new CreateProduct(); которая сделает запрос.Что лишнее, зачем ведь еще раз просить форму, когда мы ее запрашивали.
У меня пока в голове только одна мысль, закешировать результат первого запроса к веб-сервису.
Если так, то куда его засунуть? в Модель?
Что еще можно придумать?