php – 检查SESSION变量的值是否归类为业务逻辑?

前端之家收集整理的这篇文章主要介绍了php – 检查SESSION变量的值是否归类为业务逻辑?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在开发一个Web应用程序.
我有这段代码
<?PHP 
if($_SESSION['add'] == 1) 
echo '<input type="button" name="add" id="add" value="Add" onclick="add()" >';
if($_SESSION['edit'] == 1)
echo '<input type="button" name="edit" id="edit" value="Edit" onclick="edit()">';
?>

基本上,当用户登录时,我设置会话变量,指示该用户是否有权进行更改并添加记录.因此,当他们到达主页时,我使用此代码来决定是否显示我的添加和编辑按钮.

这段代码是否打破了逻辑/表示分离的规则?如果是这样,我怎样才能实现分离?

我没有使用任何Web框架.

虽然View中的条件完全正常,但您的View不应尝试自己从任何源获取任何数据.这不是它的作用,它应该仅适用于您的Controller(或Presenter,取决于您的应用程序架构)提供的数据.您的View不应该知道为什么以及何时在编辑和添加模式之间切换的逻辑.订购时,它必须知道如何做到这一点.在您的情况下,Controller应检查$_SESSION并决定显示哪种模式,添加或编辑您的View,并将该决定传递给您的View(即action_mode = edit | add)以进行哑执行.

PS:我建议养成一个习惯,总是把代码块(甚至是单行)放在{,}括号中.

猜你在找的PHP相关文章