我的index.phtml中包含以下几行代码:
<?php if (!empty($_SESSION)) : ?>
<p>Welcome back,
<a href="logout.php"><?php echo $_SESSION["info"]["users_name"];?></a>
</p>
<?php endif; ?>
<?php if(empty($_SESSION)) : ?>
<p>Hello, would you like to
<a href="" data-toggle="modal" data-target="#loginModal">sign in</a>
</p>
<?php endif; ?>
我想知道这应该放在我的index.php中以正确遵循MVC模式吗?如果是这样我该怎么做?
答案 0 :(得分:0)
在Views中使用全局变量并不好。因此,您应该将案例中的user_name传递给Controller中的视图。
您可以将代码重写为以下内容:
在控制器中:
render('your tpl', ['user_name' => isset($_SESSION['info']) && isset($_SESSION['info']['users_name']) ? $_SESSION['info']['users_name'] : null ]);
在视图中:
<?php if($user_name) : ?>
<p>Welcome back, <a href="logout.php"><?= $user_name ?></a></p>
<?php else: ?>
<p>Hello, would you like to
<a href="" data-toggle="modal" data-target="#loginModal">sign in</a></p>
<?php endif; ?>