🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
## 视图 视图是 MVC 模式中的一部分。 它是展示数据到终端用户的代码。 在网页应用中,根据视图模板来创建视图,视图模板为PHP脚本文件, 主要包含HTML代码和展示类PHP代码,简单起见,我们称视图模板或视图模板文件为视图。 ## 渲染视图 模板文件的写法支持下面几种: | 用法 | 描述 | | --- | --- | | 不带任何参数 | 自动定位当前操作的模板文件 | | \[模块/\]\[控制器/\]\[操作\] | 常用写法,支持跨模块 | 下面是一个最典型的用法,不带任何参数: ~~~ // +---------------------------------------------------------------------- // | onegow [ WE CAN DO IT MORE SIMPLE] // +---------------------------------------------------------------------- // | Copyright (c) 2016-2018 http://onegow.com All rights reserved. // +---------------------------------------------------------------------- // | Licensed ( http://www.apache.org/licenses/LICENSE-2.0 ) // +---------------------------------------------------------------------- // | Author: mrye 55585190@qq.com // +---------------------------------------------------------------------- namespace inc\mobile; class Action extends Base { /** * 模板使用方法类似于tp * 模板操作 */ public function tpl() { return $this->view(); } } ~~~ 如果没有按照模板定义规则来定义模板文件(或者需要调用其他控制器下面的某个模板),可以使用: ~~~ // 指定模板输出 return $this->view('edit'); ~~~ 表示调用当前控制器下面的edit模板 ~~~ return $this->view('member/read'); ~~~ 表示调用Member控制器下面的read模板。 ~~~ return $this->view('web/member/edit'); ~~~ 跨模块渲染模板,代表web模块中的member控制器底下的edit模板 ## 视图赋值 除了系统变量和配置参数输出无需赋值外,其他变量如果需要在模板中输出必须首先进行模板赋值操作,否则在模板中无法使用变量,例如: ### `assign`方法 ~~~ // +---------------------------------------------------------------------- // | onegow [ WE CAN DO IT MORE SIMPLE] // +---------------------------------------------------------------------- // | Copyright (c) 2016-2018 http://onegow.com All rights reserved. // +---------------------------------------------------------------------- // | Licensed ( http://www.apache.org/licenses/LICENSE-2.0 ) // +---------------------------------------------------------------------- // | Author: mrye 55585190@qq.com // +---------------------------------------------------------------------- namespace inc\mobile; class Action extends Base { /** * 模板使用方法类似于tp * 模板操作 */ public function tpl() { $this->assign([ 'name' => 'mrye', 'email' => '55585190@qq.com' ]); return $this->view(); } } ~~~ ### 方法传入参数 方法`view`可传入模板变量,例如 ~~~ // +---------------------------------------------------------------------- // | onegow [ WE CAN DO IT MORE SIMPLE] // +---------------------------------------------------------------------- // | Copyright (c) 2016-2018 http://onegow.com All rights reserved. // +---------------------------------------------------------------------- // | Licensed ( http://www.apache.org/licenses/LICENSE-2.0 ) // +---------------------------------------------------------------------- // | Author: mrye 55585190@qq.com // +---------------------------------------------------------------------- namespace inc\mobile; class Action extends Base { public function tpl() { return $this->view('index', [ 'name' => 'mrye', 'email' => '55585190@qq.com' ]); } } ~~~