【发布时间】:2014-07-27 09:07:08
【问题描述】:
我正在尝试将我的 PHP 应用程序转换为更多的 MVC 应用程序。我在 MVC 方面没有太多经验,我不完全理解部分/所有概念或如何使用 PHP 来完成,所以我需要一些帮助来理解特定函数的去向。
此函数根据用户是否登录返回一些 HTML。
public function buildLoggedInMessage() {
if ($this->User->isLoggedIn()) {
return ' You are logged in as <strong>'.$this->User->getUsername().'</strong> (<a href="/logout.php">logout</a>)';
} else {
return ' <a href="/login.php">Login</a>';
}
}
我最初的想法是将此函数放在我的“控制器”中,因为它会询问User 模型是否已登录(检查数据库记录),但是它“构建”了一些 HTML,所以也许应该是在视图中。我应该移动它吗?
我最终会将 HTML 从函数中移到模板中,因此请忽略内联 HTML。
如果是这样的话,这个函数会不会更适合视图:
public function buildLoggedInMessage() {
if ($this->Controller->isLoggedIn()) {
return ' You are logged in as <strong>'.$this->User->getUsername().'</strong> (<a href="/logout.php">logout</a>)';
} else {
return ' <a href="/login.php">Login</a>';
}
}
控制器询问模型用户是否登录?
谢谢。
【问题讨论】:
-
@Daan 哎呀。不知道我是怎么弄错的。
-
这是一个特定于演示的用户可见字符串,它显然属于视图中的某个位置。
-
@deceze “我对 MVC 没有太多经验”-OP 是的,显然......
标签: php oop model-view-controller