我是YII的初学者,我不知道<?= Html::encode($this->title)?>
与<?= $this->title?>
之间的区别。我已经测试了这两个,他们似乎给出了相同的输出。
答案 0 :(得分:3)
文档和源代码可以告诉你一切。
基本上Html::encode()
只是htmlspecialchars
本机PHP函数的包装:
将特殊字符编码为HTML实体。
应用程序字符集将用于编码。
要了解其基本区别和好处,请尝试回应:
$string = '<script>alert(1);</script>';
echo $string;
然后:
echo Html::encode($string);
因此encode
对于过滤用户保存的数据非常有用。如果数据来自开发人员,而不是来自用户,则可能不会应用encode
,HTML将按原样显示。
官方文档: