CakePHP控制器向视图传值总结
来源:互联网 发布:化境云计算 编辑:程序博客网 时间:2024/06/06 08:35
原文发表于 CakePHP中国社区 http://cakephp.cn/forum.php?mod=viewthread&tid=638&extra=page%3D1
1. 使用Controller::set()方法,给视图传值。如
2. 给视图传多个值
上面的方法比较麻烦,也可以用以下方法:
方法1:
方法2:
3. 控制器中把值设到$this->request->data中,视图中能直接取得$this->reqeust->data的值。这时就不需要使用Controller::set()方法了。
使用$this->request->data的另外一个好处,就是能够自动填充到视图中Form的对应字段中
1. 使用Controller::set()方法,给视图传值。如
1
//控制器中
2
public
function
index() {
3
$this
->set(
'hello'
,
'hello world'
);
4
}
5
6
7
//视图index.ctp中
8
echo
$hello
;
//输出'hello world'
2. 给视图传多个值
01
//控制器中
02
public
function
index() {
03
$this
->set(
'name'
,
'CakePHP中国'
);
04
$this
->set(
'url'
,
'http://cakephp.cn'
);
05
$this
->set(
'email'
,
'admin@cakephp.cn'
);
06
}
07
08
09
//视图index.ctp中
10
echo
$name
;
//输出'CakePHP中国'
11
echo
$url
;
//输出'http://cakephp.cn'
12
echo
$email
;
//输出'admin@cakephp.cn'
上面的方法比较麻烦,也可以用以下方法:
方法1:
01
//控制器中
02
public
function
index() {
03
$this
->set(
'configs'
,
array
(
'name'
=>
'CakePHP中国'
,
'url'
=>
'http://cakephp.cn'
,
'email'
=>
'admin@cakephp.cn'
));
04
}
05
06
07
//视图index.ctp中
08
echo
$configs
[
'name'
];
//输出'CakePHP中国'
09
echo
$configs
[
'url'
];
//输出'http://cakephp.cn'
10
echo
$configs
[
'email'
];
//输出'admin@cakephp.cn'
方法2:
01
//控制器中
02
public
function
index() {
03
var
$name
=
'CakePHP中国'
;
04
var
$url
=
'http://cakephp.cn'
;
05
var
$email
=
'admin@cakephp.cn'
;
06
$this
->set(compact(
'name'
,
'url'
,
'email'
));
07
}
08
09
10
//视图index.ctp中
11
echo
$name
;
//输出'CakePHP中国'
12
echo
$url
;
//输出'http://cakephp.cn'
13
echo
$email
;
//输出'admin@cakephp.cn'
3. 控制器中把值设到$this->request->data中,视图中能直接取得$this->reqeust->data的值。这时就不需要使用Controller::set()方法了。
01
//控制器中
02
public
function
index() {
03
$this
->request->data =
array
(
'name'
=>
'CakePHP中国'
,
'url'
=>
'http://cakephp.cn'
,
'email'
=>
'admin@cakephp.cn'
);
04
}
05
06
07
//视图index.ctp中
08
echo
$this
->request->data[
'name'
];
//输出'CakePHP中国'
09
echo
$this
->request->data[
'url'
];
//输出'http://cakephp.cn'
10
echo
$this
->request->data[
'email'
];
//输出'admin@cakephp.cn'
使用$this->request->data的另外一个好处,就是能够自动填充到视图中Form的对应字段中
01
//控制器中
02
public
function
edit(
$id
) {
03
$this
->request->data =
$this
->User->read(null,
$id
);
04
}
05
06
07
/*
08
假设返回结果为
09
array('User'=>array('name'=>'cakephp中国', 'email'=>'admin@cakephp.cn', 'qq'=>'88888'));
10
*/
11
12
13
//视图edit.ctp中
14
echo
$this
->Form->create(
'User'
,
array
(
'type'
=>
'post'
));
15
echo
$this
->Form->input(
'name'
);
//显示'cakephp中国'
16
echo
$this
->Form->input(
'email'
);
//显示'admin@cakephp.cn'
17
echo
$this
->Form->input(
'qq'
);
//显示'88888'
18
echo
$this
->Form->
end
(
'保存'
);
- CakePHP控制器向视图传值总结
- CakePHP控制器向视图传值总结
- SpringMVC 控制器向视图传值的方式
- laravel通过a标签从视图向控制器传值
- 导航视图控制器(总结)
- 视图控制器知识点总结
- iOS视图控制器总结
- 关于MVC中控制器(controller)向视图(view)传值的几种方式
- 视图控制器的相关内容总结
- 自定义视图、使用视图控制器知识点总结
- angular中子控制器向父控制器传值
- CakePHP 控制器 Controllers
- Lavaral5.5 路由, 控制器 向view模板传值的几种方法总结,
- 视图控制器直接的传值
- 导航视图控制器及其属性传值
- thinkphp 中实用的三种视图向控制器传值得方法
- 一、总结几种关于ViewControllers之间传值的方式(从父视图向子视图传值)
- 二、总结几种关于ViewControllers之间传值的方式(从子视图向父视图传值)
- Mysql中count(*),DISTINCT的使用方法和效率研究
- WCS学习笔记(第九天) - MyNewControllerCmd整合Bonus entity bean
- 【转】PHP代码审计
- 网页设计学习:影响收录的五要素
- ExtJs xtype 与空间的一一对应
- CakePHP控制器向视图传值总结
- hadoop2.0 安全配置 kerberos
- mysql中的 IN和FIND_IN_SET的查询问题
- js 实现YYYY-MM-DD日期加上天数得到新的日期
- POJ - 1185 炮兵阵地 状态压缩DP
- Java文档生成命令
- android 获取手机内部存储空间和外部存储空间
- __attribute__ ((packed))的真面目
- Linux系统NAT实现机制的升级改进