Базовый контроллер - это решение, но не лучшее для меня.Вы должны написать свой собственный Action Helper , они предназначены для этого.
Помощники действий позволяют разработчикам внедрять функциональность времени выполнения и / или по требованию в любое действиеКонтроллеры , которые расширяют Zend_Controller_Action.Помощники действий стремятся свести к минимуму необходимость расширения абстрактного контроллера действий для внедрения общих функций контроллера действий.
Дополнительная информация здесь, в руководстве .
Давайте посмотрим, как зарегистрировать ваш путь к Помощнику действий, добавьте его в файл application.ini:
resources.frontController.actionHelperPaths.My_Controller_Action_Helper = "My/Controller/Action/Helper/"
, где My - это имя вашей пользовательской библиотеки.
Ив пути My/Controller/Action/Helper/
вы можете добавить файл MyActionHelper.php
следующим образом:
class My_Controller_Action_Helper_MyActionHelper extends Zend_Controller_Action_Helper_Abstract
{
public function direct($input)
{
$output = mysql_real_escape_string($input);
// trim, etc.
return $output;
}
}
Это все, что вам нужно сделать!Наконец, вы можете получить доступ к своему помощнику действий из любого контроллера, используя $this->_helper->myActionHelper($input);
.
Если вам нужно проверить входные данные из формы, взгляните на Zend_Form и Zend_Filter.Zend_Filter может изначально StripTags и TrimString , это даже лучший способ сделать это.