如何在php(和javascript)项目中实现用例控制器

如何在php(和javascript)项目中实现用例控制器,php,design-patterns,controller,ooad,grasp,Php,Design Patterns,Controller,Ooad,Grasp,我是PHP和设计模式的初学者。我在包含javascript和php的应用程序中实现用例控制器时遇到问题。 我想做一个学生档案管理器的项目。我有一个“上传分数”的用例,在这个用例中,老师上传学生在特定部分的分数。在这个用例中,我将系统操作的职责分配给了一个名为UploadMarksEventHandler的类。我只提到了方法和属性,它们还不应该产生输出。代码如下: class UploadMarksHandler{ private $section; private $central_storag

我是PHP和设计模式的初学者。我在包含javascript和php的应用程序中实现用例控制器时遇到问题。 我想做一个学生档案管理器的项目。我有一个“上传分数”的用例,在这个用例中,老师上传学生在特定部分的分数。在这个用例中,我将系统操作的职责分配给了一个名为UploadMarksEventHandler的类。我只提到了方法和属性,它们还不应该产生输出。代码如下:
class UploadMarksHandler{
private $section;
private $central_storage; 
private $students = array();
private $cookie_name;
private isSelectSection = false;

function __construct(){

}

function login($teacher_id, $password){
    $password_temp=$this.centr/al_storage.getTeacherPassword($teacher_id);
    if($password_temp==$password){
        //set cookies
        setcookie($teacher_id, $password, time()+(60), "/");
    }
    else{
        echo "incorrect password";
    }
}

function selectSection($section){
    //check cookies
    $this->section=$this->central_storage.getSection($section);
    $this->is_section_selected=true;
    $this->students=$this->central_storage.getStudents($this->section);
}

function uploadMarks($student_id, $marks){
    //check cookies
}

function display_students(){
    //check cookies
    //display $this->students
}

function endUseCase(){
    //logout
    //destroy central storage object
    //destroy section object
    //destroy students object
    //destroy object
    }
}
?>
上面的代码用于应用程序逻辑层。UI层的用户将执行诸如登录($teacher_id,$password)、上载标记($student_id,$marks)、e.t.c.等操作,并且这些操作中的每一个都作为控制器类UploadMarksHandler的责任。问题是,用户将从UI层生成操作,我计划在jquery中对其进行编码。假设用户按下浏览器上名为“上载标记”的按钮。为此,我将使用AJAX创建UploadMarksHandler对象。我将在main.php文件中完成这项工作,该文件用于将UI层映射到应用程序逻辑层

$upload_marks = new UploadMarksHandler(); //this is in main.php, which is called through AJAX
在实例化负责处理“upload marks”用例的$upload_marks对象之后,我的应用程序应该在UI层中监听下一个系统操作。假设用户按下一个名为“Login”的按钮。现在,当控件从客户端移回服务器端时,我的$upload_marks对象将被删除,因此其状态将丢失

我已经搜索过如何在PHP中应用MVC和controller,但没有发现关于我的问题的运气。我应该使用MVC框架吗?感谢您的帮助

假设用户按下一个名为“Login”的按钮。现在,当控件从客户端移回服务器端时,我的$upload_marks对象将被删除,因此其状态将丢失

当用户触发UploadMarks事件时,创建一个跟踪该工作流状态的对象。在请求结束时,将工作流的当前状态持久化到数据库中。每当用户再次单击UploadMarks时,获取状态并恢复工作流

我已经搜索过如何在PHP中应用MVC和controller,但没有发现关于我的问题的运气。我应该使用MVC框架吗

关于MVC,我能给你的最好建议就是不要担心它。MVC在最近几年得到了很多不必要的关注。当它仅仅是你应用程序中的一个小细节时,它就被炒作得像圣杯一样