博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
CI控制器调用内部方法并载入相应模板的做法
阅读量:5133 次
发布时间:2019-06-13

本文共 1728 字,大约阅读时间需要 5 分钟。

当我打开链接:http://localhost/3g/index/open/a/b?from=timeline后,判断链接中的from是否等于timeline,如果等于timeline,那么就调用控制器内部的timeline方法,并载入timeline.php这个模板。

class Index extends CI_Controller {    function __construct() {        parent::__construct();    }    public function open($a=0,$b=0) {        if ($_GET['from'] == 'timeline') {            $this -> timeline($a);            die;        } else {            $data['b'] = $b;            $this -> load -> view('3g/index/open',$data);        }    }    public function timeline($a=0) {        $data['a'] = $a;        $this -> load -> view('3g/index/timeline',$data);    }}
此时输出的页面一片空白,并没有载入timeline.php这个模板,正确的做法是:

class Index extends CI_Controller {    function __construct() {        parent::__construct();    }    public function open($a=0,$b=0) {        if ($_GET['from'] == 'timeline') {            $this -> timeline($a);            die;        } else {            $data['b'] = $b;            $this -> load -> view('3g/index/open',$data);        }    }    public function timeline($a=0) {        $data['a'] = $a;        echo $this -> load -> view('3g/index/timeline',$data,true);die;    }}

获取视图内容

view函数第三个可选参数可以改变函数的行为,让数据作为字符串返回而不是发送到浏览器。如果想用其它方式对数据进一步处理,这样做很有用。如果将view第三个参数设置为true(布尔)则函数返回数据。view函数缺省行为是 false, 将数据发送到浏览器。如果想返回数据,记得将它赋到一个变量中:

$string = $this->load->view('myfile', '', true);

例子:有些情况下,你并不想直接输出视图,而是仅仅想得到视图的内容以备后用。那么可以参考如下代码。

<?php class Blog extends CI_Controller { function index() { $data['todo_list'] = array('Clean House', 'Call Mom', 'Run Errands'); $data['title'] = "My Real Title"; $data['heading'] = "My Real Heading"; $buffer = $this->load->view('blogview', $data, true); } } ?>

view方法中的第三个参数表示不输出视图,而只是将结果返回给一个变量。

转载于:https://www.cnblogs.com/moqiang02/p/4061196.html

你可能感兴趣的文章
变量声明和定义的关系
查看>>
Wpf 之Canvas介绍
查看>>
linux history
查看>>
jQuery on(),live(),trigger()
查看>>
Python2.7 urlparse
查看>>
sencha touch在华为emotion ui 2.0自带浏览器中圆角溢出的bug
查看>>
【架构】Linux的架构(architecture)
查看>>
ASM 图解
查看>>
Date Picker控件:
查看>>
你的第一个Django程序
查看>>
grafana授权公司内部邮箱登录 ldap配置
查看>>
treegrid.bootstrap使用说明
查看>>
[Docker]Docker拉取,上传镜像到Harbor仓库
查看>>
javascript 浏览器类型检测
查看>>
nginx 不带www到www域名的重定向
查看>>
记录:Android中StackOverflow的问题
查看>>
导航,头部,CSS基础
查看>>
[草稿]挂载新硬盘
查看>>
[USACO 2017 Feb Gold] Tutorial
查看>>
关于mysql中GROUP_CONCAT函数的使用
查看>>