Недавно на сайте http://fbdevzone.com/ был рассмотрен удобный способ передачи URL-параметров в действия.
Обычно для этой цели используются методы $this->_getParam() и $this->getRequest()->getParam() в классах контроллера. Это довольно удобный способ, однако он не идеален — прописывать это из метода в метод не очень удобно.
Предложенный способ заключается в том, что параметры передаются в действия в виде аргументов метода:
Обычно для этой цели используются методы $this->_getParam() и $this->getRequest()->getParam() в классах контроллера. Это довольно удобный способ, однако он не идеален — прописывать это из метода в метод не очень удобно.
Предложенный способ заключается в том, что параметры передаются в действия в виде аргументов метода:
1
2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
/**
* index/info/ * index/info/tags/one/tags/two * index/info/msg/msg-only * index/info/date/2009-10-03 * index/info/msg/RandomOrder/date/2009-10-03 * * @param array $tags * @param Zend_Date $date * @param string $msg */ public function infoAction(array $tags = null, Zend_Date $date = null, $msg = 'hello') { Zend_Debug::dump($tags); if (!is_null($date)) echo $date->get(Zend_Date::DATETIME_FULL); else echo "no date passed\n"; Zend_Debug::dump($msg); die; } |
При помощи Zend_Reflection производится парсинг phpdoc-комментариев, присваивая переменным соответствующие типы.
Подробнее читайте в блоге автора. Там же вы найдёте исходный код класса.
Подробнее читайте в блоге автора. Там же вы найдёте исходный код класса.
Комментариев нет:
Отправить комментарий