Php MVC模式:如果模型需要调用其视图';s函数?

Php MVC模式:如果模型需要调用其视图';s函数?,php,model-view-controller,Php,Model View Controller,请帮助我修复基于MVC模式的代码。我是MVC的新手。 在我的项目中,我必须构建一个视图和模型树作为父子层次结构。 但我坚持了一个观点(在代码示例中给出),模型需要it视图来调用带有模型数据的视图函数。作为一个初学者理论,我可能很难实现。如果可能的话,还请提出其他更好的方法 请给出一些代码解决方案。请。 下面是一个PHP代码示例: class model{ $data = array(); $model childModelArray[]; // keeps root model

请帮助我修复基于MVC模式的代码。我是MVC的新手。 在我的项目中,我必须构建一个视图和模型树作为父子层次结构。 但我坚持了一个观点(在代码示例中给出),模型需要it视图来调用带有模型数据的视图函数。作为一个初学者理论,我可能很难实现。如果可能的话,还请提出其他更好的方法

请给出一些代码解决方案。请。

下面是一个PHP代码示例:

class model{
    $data = array();
    $model childModelArray[];  // keeps root model's child list
}
class view{
    $controller;
    function ShowChild()
    {   

        if (count($this->controller->model->childModelArray) > 0)
        {   
            echo '<div class="SubChildBox">';
            foreach ($this->controller->model->childModelArray as $nextChildModel){
                 //PROBLEM: model object  nextChildModel  need to call view object!!! ShowAsChild()  !!!
                 // Help on this please 
                 $this->ShowAsChild();
            }
            echo '</div>';
        }
    }
}
类模型{
$data=array();
$model childModelArray[];//保留根模型的子列表
}
类视图{
$controller;
函数ShowChild()
{   
如果(计数($this->controller->model->childModelArray)>0)
{   
回声';
foreach($this->controller->model->childModelArray作为$nextChildModel){
//问题:模型对象nextChildModel需要调用视图对象!!!ShowAsChild()!!!
//请帮忙
$this->ShowAsChild();
}
回声';
}
}
}
首先,视图不需要是类。它们大多是html。您可以通过使用默认值的形式参数来解决问题。如果形式参数不存在,则它是控制器的参数

class model{
    $data = array();
    $model childModelArray[];  // keeps root model's child list
}
class view{
    $controller;
    function ShowChild($childModelArray = false)
    {   
        $childModelArray = $childModelArray === false ? $this->controller->model->childModelArray : $childModelArray;
        if ($childModelArray && count($childModelArray) > 0)
        {   
            echo '<div class="SubChildBox">';
            foreach ($childModelArray as $nextChildModel){
                 //PROBLEM: model object  nextChildModel  need to call view object!!! ShowAsChild()  !!!
                 // Help on this please 
                 $this->ShowAsChild($nextChildModel);
            }
            echo '</div>';
        }
    }
}
类模型{
$data=array();
$model childModelArray[];//保留根模型的子列表
}
类视图{
$controller;
函数ShowChild($childModelArray=false)
{   
$childModelArray=$childModelArray==false?$this->controller->model->childModelArray:$childModelArray;
如果($childModelArray&&count($childModelArray)>0)
{   
回声';
foreach($childModelArray作为$nextChildModel){
//问题:模型对象nextChildModel需要调用视图对象!!!ShowAsChild()!!!
//请帮忙
$this->ShowAsChild($nextChildModel);
}
回声';
}
}
}