数据输出
控制器中有多种方式进行数据输出。
变量传值给视图
$this->assign();//可以传入变量,数组以及对象
$data1="这是一个标题";
$this->assign('title',$data1);//可以传入变量
//模板中使用<?=$title?>输出<br>
$data2=array(
'name'=>'小明',
'age'=>18;
);
$this->assign($data2);//可以传入数组
//模板中使用<?=$name?> <?=$age?>输出
$this->assign('user',$data2);//可以传入数组
//模板中使用<?=$user['name']?> <?=$user['age']?>输出
<br>
$data3=array(
array('name'=>'小明','age'=>18),
array('name'=>'小红','age'=>16),
);
$this->assign('userlist',$data3);//可以传入多维数组
//模板中使用循环输出
<?php foreach($userlist as $v){?>
<?=$v['name']?>
<?=$v['age']?>
<?php }?><br>
$data4=(object)[];
$data4->a='项目1';
$data4->b='项目2';
$this->assign('obj',$data4);//可以传入对象
//模板中使用<?=$obj->a?> <?=$obj->b?>输出<br>
输出视图
$this->display(); //输出默认视图
$this->display($template); //输出模块内指定视图
$this->display( [$module, $template]); //输出指定模块的指定视图(实现跨模块视图共享)
function indexAction(){
$data = ['name' => '小明', 'age' => 18];
$this->assign($data);
$this->display(['home', 'page']);
}
//输出Home模块View目录中的page.php视图文件,并把$name = '小明',$age = 18传递给视图,并在runtime/temp目录中生成临时文件用于调试
* 更多视图使用方法参考【视图】章节
输出纯文本
$this->content($content);
// 将会以纯文本的格式输出内容
输出JSON
$this->json($data); //输出Json对象字符串,data为数组或对象
function indexAction(){
$data = ['name' => '小明', 'age' => 18];
$this->json($data);
}
//输出:{"name":"小明","age":18}
输出404(页面不存在)
$this->notFound();