如何在不使用类的情况下使用MVC创意?

时间:2010-05-22 03:17:27

标签: php model-view-controller

截至目前,我仍然在课堂上不稳定,所以我不想在我的网站上使用任何课程。我还在上课。

但是如何在没有类的情况下实现MVC理念呢?

  

这适用于MVC吗?

     

index.php(视图)

     

index_controller.php

     

index_model.php

    Is this right for what a MVC should be? 
View: show html, css, forms 
Controller: get $_POST from forms and any data from the user, get info from db 
Model: do all the functions, insert/delete in db, etc

基本上将视图的HTML / css,控制器的所有数据收集以及模型的逻辑分开。然后使用require_once连接它们。

1 个答案:

答案 0 :(得分:1)

控制器:您的index.php,接受和指示请求。这肯定是一个“无类”的脚本。它将充当控制器和“前端控制器”。

视图:演示文稿脚本的集合,控制器包含的特定脚本。基本上从控制器的变量范围“获取”数据。

模型:提供对数据访问的一组函数。控制器确定要包含的请求内容。

当然,可以完成,但是你没有使用类(OOP)。这是控制器可能的快速示例。没什么了不起的,只是一个想法。显示控制器也应该对模型/视图有所了解。

<?php
  $action = getAction(); //parse the request to find the action
  switch($action){
    case 'list':
      include('models/todolist.php'); //include the model
      $items = todolistGetItems(); //get the items using included function
      include('views/todolist/list.php'); //include the view
      break;
    case 'add':
      if(!empty($_POST['new'])){ 
        include('models/todolist.php'); //include the model
        todolistAddItem($_POST); //add the item
        $items = todolistGetItems(); //get the items using included function
        include('views/todolist/list.php'); //include the view
      } else {
        include('views/todolist/add.php'); //include the view
      }
  }