1

我在理解 MVC 如何在 PHP 上工作时遇到了很多麻烦。在基于 Java 和 Swing 的程序上,或者在 C# 中使用 winforms 时,我的视图会触发控制器或演示者订阅的事件,并作为响应执行操作。但是,PHP 缺少事件。我会用 la java 来实现它们,但是当我无法触发方法作为超链接点击的响应时,我无法理解如何实现 MVC。

到目前为止,我正在控制器的 start() 方法中检查 POST 和 GET 变量,并以特定方式响应。例如,如果 $_POST 未设置,则显示用户注册视图。否则,使用 POST 变量注册用户。

我知道必须有更好的方法来做到这一点,但我在网上找不到任何解释 PHP 上的视图-> 控制器关系的东西。

你如何管理这个?

4

1 回答 1

0

当我无法触发方法作为超链接点击的响应时,我无法理解如何实现 MVC。

在您的路由器中,您可以使用method_exists()函数,例如:

<?php 
if(file_exists($controller)){
    include($controller);
    $this->controller = new $this->controller($this);
    //check method exists within loaded controller
    if(method_exists($this->controller, $this->action)){
        $this->controller->{$this->action}($this);
    }
}
?>
于 2012-11-18T05:45:00.233 回答