Php 管理视图->;没有框架的MVC上的控制器交互?
我很难理解MVC是如何在PHP上工作的。在基于Java和Swing的程序上,或者使用C#中的winforms,“我的视图”触发控制器或演示者订阅的事件,并作为响应执行操作。然而,PHP缺少事件。我会用la java实现它们,但当我不能启动一个方法作为对超链接点击的响应时,我无法理解如何实现MVC 到目前为止,我在控制器的start()方法中检查POST和GET变量,并以特定的方式进行响应。例如,如果未设置$\u POST,则显示用户注册视图。否则,使用POST变量注册用户 我知道一定有更好的方法,但我在网上找不到任何解释PHP上view->controller关系的东西 你是如何做到这一点的 当我不能将一种方法作为一种工具来使用时,我不理解如何实现MVC 对超链接单击的响应 在您的路由器中,您可以使用该功能,例如:Php 管理视图->;没有框架的MVC上的控制器交互?,php,model-view-controller,design-patterns,Php,Model View Controller,Design Patterns,我很难理解MVC是如何在PHP上工作的。在基于Java和Swing的程序上,或者使用C#中的winforms,“我的视图”触发控制器或演示者订阅的事件,并作为响应执行操作。然而,PHP缺少事件。我会用la java实现它们,但当我不能启动一个方法作为对超链接点击的响应时,我无法理解如何实现MVC 到目前为止,我在控制器的start()方法中检查POST和GET变量,并以特定的方式进行响应。例如,如果未设置$\u POST,则显示用户注册视图。否则,使用POST变量注册用户 我知道一定有更好的方法
<?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);
}
}
?>
请注意,web应用程序(即使在C#中)与桌面应用程序大不相同。当然,webforms试图模仿桌面方法,但这显然不适合web应用程序,因此asp.net mvc。php中也有MVC框架(CodeIgniter、Symfony等),所以请使用它们,但最重要的是要了解web是如何工作的,以及为什么视图上的单击事件令人讨厌。