Что делает $this-> escape() в zend framework на самом деле?

Мне нужна помощь в понимании действительных действий вспомогательной функции в Zend Framework.

Мне нужно, чтобы кто-то объяснил мне, что $this->escape($string) на самом деле делает с переданной ему строкой, прежде чем печатать строку в шаблон.

Ответы

Ответ 1

$this->escape() выводит строку в соответствии с настройками, которые вы можете предоставить с помощью $this->setEscape('functionname'), по умолчанию это функция PHP htmlspecialchars.

http://framework.zend.com/manual/en/zend.view.scripts.html

Ответ 2

Он вызывает функцию htmlspecialchars PHP.

Выполненные переводы:

  • '&' (амперсанд) становится "&"
  • ' "' (двойная кавычка) становится '"'
  • '<' (меньше) становится" & lt;"
  • ' > ' (больше) становится '& gt;'

Ответ 3

В проекте PiKe мы создаем настраиваемую поточную оболочку, которая автоматически избегает всех переменных представления, чтобы быть безопасными по умолчанию против XSS, с поражением MINIMAL! Вы все равно можете получить значение RAW с помощью:

<?=~ $variable ?>

Обратите внимание на символ "~". Оформить заказ http://code.google.com/p/php-pike/wiki/Pike_View_Stream