0

我正在开发一个 php 网站;我没有使用纯面向对象的代码,因为我仅将类用于我的查询和函数,但我尝试使用 MVC 方法为 html 提供一些干净的视图代码。一切正常,因为我将“业务逻辑”和视图分开,逻辑都在我的“控制器”文件夹中,而不是将所有变量传递给显示的视图。

我被表格困住了。

我通过上述方法传递了表单使用的变量,但是,表单操作呢?我应该在控制器文件中传递 $_POST 数据。

如果检索到“操作”$_GET,则会出现我的管理视图:

switch ($action) { 
    default:
        break;
    case "npr":
        require "controller/admincontents/inner/newproject.php";
        break;
    case "mpr":
        require "controller/admincontents/inner/modifyproject.php";
        break;
    case "dpr":
    require "controller/admincontents/inner/deleteproject.php";
    break;
}

然后我去我的 newproject.php 调用我的表单。

<?php 
require "views/adminviews/forms/insnuovoprogetto.php";
?>

表单有一个动作,但动作必须指向哪里?我想执行确认视图和成功视图,但我不能将它们放在同一页面中。

如果我不使用这种方法,我可以使用 isset($_POST) 函数来打开和关闭表单、确认和成功。

请您将我重定向到在 MVC 中用于表单的方法吗?

4

2 回答 2

-1

根据 MVC 结构,

  1. 控制器由 Url 参数($_GET)决定
  2. 同样,视图文件也需要根据控制器进行渲染。您可以创建 setLayout 或 setView 之类的函数来呈现您的视图文件
  3. 您必须根据控制器手动提及您的表单操作
于 2012-06-19T11:50:07.413 回答
-1

最好使用任何 MVC 框架,而不是创建自己的代码。您可以使用 php 框架,如 codeigniter、cakePHP 和 Zend Framework。首先尝试了解这些框架是如何运作的,然后开始开发自己的框架。我个人认为 Codeigniter 是初学者学习 MVC 方法的最佳平台。

于 2012-06-19T12:03:34.427 回答