Ответ 1
$this->escape()
выводит строку в соответствии с настройками, которые вы можете предоставить с помощью $this->setEscape('functionname')
, по умолчанию это функция PHP htmlspecialchars.
Мне нужна помощь в понимании действительных действий вспомогательной функции в Zend Framework.
Мне нужно, чтобы кто-то объяснил мне, что $this->escape($string)
на самом деле делает с переданной ему строкой, прежде чем печатать строку в шаблон.
$this->escape()
выводит строку в соответствии с настройками, которые вы можете предоставить с помощью $this->setEscape('functionname')
, по умолчанию это функция PHP htmlspecialchars.
Он вызывает функцию htmlspecialchars PHP.
Выполненные переводы:
- '&' (амперсанд) становится "&"
- ' "' (двойная кавычка) становится '"'
- '<' (меньше) становится" & lt;"
- ' > ' (больше) становится '& gt;'
В проекте PiKe мы создаем настраиваемую поточную оболочку, которая автоматически избегает всех переменных представления, чтобы быть безопасными по умолчанию против XSS, с поражением MINIMAL! Вы все равно можете получить значение RAW с помощью:
<?=~ $variable ?>
Обратите внимание на символ "~". Оформить заказ http://code.google.com/p/php-pike/wiki/Pike_View_Stream