StartMVC开发手册

可以快速上手的开发文档

手册目录

创建视图

V即View视图是指用户看到并与之交互的界面。比如由html元素组成的网页界面,或者软件的客户端界面。

StartMVC的视图使用原生的PHP文件和PHP语法,并没有采用任何模板引擎,主要考虑到模板标签语法还要解析成php语法,既牺牲了性能又增加了学习成本,php本身就是一种天然的模板引挚。


使用视图

视图文件默认是以.php结尾的,文件名为:控制器_方法.php

默认默认文件位置在 /模型/view下,有时需要多风格模板,可以指定二级目录放置模板文件,需要在config/common.php中设定, 进行切换不同的模板。

'theme'  => '',	//指定模板子目录,比如default,方便多风格使用,为空时模板文件在view下

在控制中,引入视图的方式为 $this->display()

namespace app\home\controller;
use startmvc\core\Controller;
 
class IndexController extends Controller {
    function indexAction(){
        $this->display();    //输出到home模块下的View/Index_index.php
        $this->display('view');    //输出到Home模块下的View/view.php
        $this->display(['Admin', 'public/view']);    //输出到Admin模块下的View/public/view.php
    }
}

变量输出

在$this->display()中,可以传入变量、数组、对象。视图中会直接解析为变量。

//控制器 app/home/IndexController.php
namespace app\home\controller;
use startmvc\core\Controller;
 
class IndexController extends Controller {
    function indexAction(){ 
        $data['users'] = [
            ['name' => '小明', 'age' => 21],
            ['name' => '小红', 'age' => 20]
        ];
        $this->assign($data);
        $this->display();
    }
}
//视图文件 app/home/view/index_index.php

姓名:,年龄:
/*
姓名:小明,年龄:21
姓名:小红,年龄:20
*/

对于这一节,更多详细信息,请参考 控制器数据输出 https://startmvc.com/doc/detail/7.html

模板标签

Startmvc支持短标签模式,比如

可以简化成

可以简化成

更多标签支持见 模板引挚 https://startmvc.com/doc/detail/38.html