Есть ли способ, которым я могу использовать $this->escape()
на моделях или внутри контроллера?
ответ
$this->escape()
используется в целях, его похожим на htmlentities()
, htmlspecialchars
Если вы ищете кавычки значений и идентификаторов следует использовать quote()
, quoteInto()
методы.
http://framework.zend.com/manual/en/zend.db.adapter.html#zend.db.adapter.quoting.quote-into
Хорошая точка. quote/quoteInto может быть тем, что он намеревался. –
Да, единственное, что я не знал, это то, почему ему нужно бежать в контроллере или модели, то есть, почему я сохранил ссылку на Zend DB;) –
$this->escape()
является псевдонимом htmlspecialchars() и htmlentities(). Поэтому вы можете просто использовать их так, как если бы или написать свой собственный метод.
Вы должны избегать использовать escape()
в своих моделях, но вместо того, чтобы использовать их в своих контроллерах (или даже лучше, на ваш взгляд) следующим образом:
// instantiate Zend_View
$view = new Zend_View();
$view->setEscape('htmlentities');
$obj = new My_Model();
$view->setEscape(array($obj, 'methodName'));
echo $view->render(...);
Или просто '$ this-> view-> escape ('foo');' в контроллерах –
Или просто удержитесь от вылета, пока не попадете в сценарии просмотра. –
$ this-> побег является специфичным для зрения. Если вам нужно позвонить ему с вашего контроллера или вашей модели, в вашей архитектуре что-то не так. – Maxence