您的位置:首页 > 编程语言 > PHP开发

ThinkPHP开发笔记-前后端数据交互

2015-06-02 15:26 671 查看
此处就是 Controller 和 View 相互传数据。

1、Controller 向 View 的页面传数据。在控制器中把变量传递给模板,使用 assign 方法对模板变量赋值。例如:

在Controller中:

$array['name']    =    'thinkphp';
$array['email']   =    'liu21st@gmail.com';
$array['phone']   =    '12335678';
$this->assign($array);


在View文件中输出:

<?php echo $name.'['.$email.''.$phone.']';?>


2、View 页面跳转或提交到某个 Controller 时传数据。获取用户提交的数据可通过 Action 参数绑定,或者 I 方法。

(1)Action 参数绑定是把URL中的参数和对应Controller对应方法中的参数进行绑定。如:

URL为:http://serverName/index.php/Home/Blog/archive/year/2013/month/11

Blog控制器的archive方法:

public function archive($year='2013',$month='01'){
echo 'year='.$year.'&month='.$month;
}


(2)I方法不仅可以获取用户提交的数据,也可以获取系统变量,这个应该是最常用的。

以GET变量类型为例,说明下I方法的使用:

echo I('get.id'); // 相当于 $_GET['id']
echo I('get.name'); // 相当于 $_GET['name']


用同样的方式,我们可以获取post或者其他输入类型的变量,例如:

I('post.name','','htmlspecialchars'); // 采用htmlspecialchars方法对$_POST['name'] 进行过滤,如果不存在则返回空字符串
I('session.user_id',0); // 获取$_SESSION['user_id'] 如果不存在则默认为0
I('cookie.'); // 获取整个 $_COOKIE 数组
I('server.REQUEST_METHOD'); // 获取 $_SERVER['REQUEST_METHOD']
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: