yii2如何在视图中拒绝访问Yii :: $ app-> db

时间:2017-06-21 12:22:13

标签: security yii2

我们有一个开发团队,我希望专注于视图的开发人员无法使用Yii :: $ app-> db直接进行检索,更新和删除。视图中的每个数据库操作都必须通过适当的模型对象完成。 如何?感谢。

1 个答案:

答案 0 :(得分:2)

我没有足够的声誉来发表评论,所以我会把它写成答案。 像Twig这样的模板引擎可以插入Yii2。这是GitHub Twig Extension的链接。 即使您可以在Twig模板中编写php函数,您也可以使用模板语法限制您自己和您的团队。所以简单地说

<?php echo $var ?>
<?php echo htmlspecialchars($var, ENT_QUOTES, 'UTF-8') ?>

将写为

{{ var }}
{{ var|escape }}
{{ var|e }}         {# shortcut to escape a variable #}

因此,考虑到我们拒绝使用PHP标记并仅使用模板语法,可以肯定的是,没有人可以/ Yii::$app->db中调用{{ }}