8.3.0.MV模型和视图

MV模型和视图

命名空间: namespace qing\mv

ModelAndView类

<?php
namespace qing\mv;
/**
 */
class ModelAndView{
    /**
     * 视图名称,视图文件
     *
     * @var string
     */
    public $viewName='';
    /**
     * 视图数据,模版数据
     *
     * @name params
     * @var array
     */
    public $vars=[];
}
?>

返回视图数据的方法

控制器render方法

<?php
namespace qing\controller;
class Controller implements ControllerInterface{
    /**
     * 返回mv由前端控制器渲染
     * 
     * @param string $viewName  模版文件
     * @param array  $vars      模版变量
     * @return \qing\mvc\ModelAndView
     */
    protected function render($viewName='',array $vars=[]){
        return new \qing\mv\ModelAndView($viewName,$vars);
    }

案例

<?php
namespace main\controller;
class Index extends Base{
    /**
     */
    public function index(){
        //#render
        return $this->render('index',['nums'=>[1,2,3]]);
        //#手动创建
        return new \qing\mv\ModelAndView('index',['nums'=>[1,2,3]]);
        //MV::create
        return \qing\mv\MV::create('index',['nums'=>[1,2,3]]);
    }
}
?>

视图解析

见9.0视图