• CI控制器调用内部方法并载入相应模板的做法


    当我打开链接: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);

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

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



  • 相关阅读:
    单片机数字滤波的算法!
    Python中列表的兄弟
    史上最全的Python程序员面试必备常用问题
    新人在学习web前端的容易踩哪些坑?
    linux+arm系统学习与基础学习
    C和C++笔记:动态内存管理
    Python 爬虫干货之urllib库
    单片机、ARM、MUC、DSP、FPGA、嵌入式错综复杂的关系!
    单片机死机了怎么办?
    单片机各种复位电路原理
  • 原文地址:https://www.cnblogs.com/moqiang02/p/4061196.html
Copyright © 2020-2023  润新知