2012-02-22 42 views
1

有沒有方法可以在模型上或控制器內使用$this->escape()

+0

$這個 - >逃生是具體到一個視圖。如果您需要從您的控制器或您的模型中調用它,那麼您的架構中會出現問題。 – Maxence 2012-02-23 08:10:46

回答

3

$this->escape()鑑於使用,它類似於htmlentities()htmlspecialchars

如果您正在尋找引用值和標識符,你應該使用quote()quoteInto()方法。

http://framework.zend.com/manual/en/zend.db.adapter.html#zend.db.adapter.quoting.quote-into

+1

好點。 quote/quoteInto可能是他的意圖。 – 2012-02-22 09:35:47

+0

是的,我唯一不確定的是爲什麼他需要在控制器中逃脫,或者爲什麼我保持鏈接到Zend DB;) – 2012-02-22 10:52:10

3

$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(...); 
+1

或者只是'$ this-> view-> escape('foo');'in controllers – 2012-02-22 09:20:12

+0

或者直接進入視圖腳本,直到完全逃脫。 – 2012-02-22 09:34:03