首页 > 解决方案 > PHP:如何解决这个调用视图方法的子数据模型数组

问题描述

我正在尝试基于 MVC 模式编写代码。工作是从一些输入创建任务及其子任务,然后生成父子任务的层次结构树/数组。但是当我尝试在该任务数组上生成一些基于 html 的视图时,我遇到了一个问题。我注意到模型对象需要访问视图的方法!

注意:请忽略任何语法错误,这只是给出一个问题的想法

模型类

class TaskModel{
 private $data;
 public TaskModel taskChilds[] = array();
}

查看课程

class TaskView{
    private $model;

    public function __construct($model) {
         $this->model = $model;
    }

    public function showTaskHtml($data) {
        // NOT possible because each $data belongs to its corresponding $model
        return "<div>$this->$data</div>";
    }

    public function showChild() {
        foreach($this->$taskModel->taskChilds as  $child ){
            // NOT possible $child is model & the function belongs to view
            echo $child->showTaskHtml($data); 
        }   
    }
}

请帮我。给我一些代码指南。我是 MVC 的新手

标签: phpmodel-view-controller

解决方案


推荐阅读