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);
例子:有些情况下,你并不想直接输出视图,而是仅仅想得到视图的内容以备后用。那么可以参考如下代码。
<?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
CI控制器调用内部方法并载入相应模板的做法相关推荐
- tp5怎么跨控制器调用别的方法
以前tp3.2版本跨控制器调用方法的时候用的是A方法 即 $IndexController = A("index"); return $IndexController-&g ...
- 内部方法调用,事务不起作用的原因及解决办法
在做业务开发时,遇到了一个事务不起作用的问题.事情是这样的,方法内部的定时任务调用了一个带事务的方法,失败后事务没有回滚.查阅资料后,问题得到解决,记录下来分享给大家. 场景 我在这里模拟一个场景,大 ...
- springboot 调用方法事物_SpringBoot 内部方法调用,事务不起作用的原因及解决办法...
在做业务开发时,遇到了一个事务不起作用的问题.大概流程是这样的,方法内部的定时任务调用了一个带事务的方法,失败后事务没有回滚.查阅资料后,问题得到解决,记录下来分享给大家. 场景 我在这里模拟一个场景 ...
- 原生js调用json方法
原文链接 Ajax基础 ajax:无刷新数据读取,读取服务器上的信息 HTTP请求方法: GET:用于获取数据,如浏览帖子 ajax.judgeXmlHttpRequest('get', 'index ...
- JavaScript文件中调用AngularJS内部方法或改变$scope变量
需要在其他JavaScript文件中调用AngularJS内部方法或改变$scope变量,同时还要保持双向数据绑定: 首先获取AngularJS application: 方法一:通过controll ...
- Spring AOP无法拦截内部方法调用-- expose-proxy=true用法
假设一个接口里面有两个方法: package demo.long;public interface CustomerService { public void doSomething1(); publ ...
- Python语言学习:利用python语言实现调用内部命令(python调用Shell脚本)—命令提示符cmd的几种方法
Python语言学习:利用python语言实现调用内部命令(python调用Shell脚本)-命令提示符cmd的几种方法 目录 利用python语言实现调用内部命令-命令提示符cmd的几种方法 T1. ...
- aop阻止方法运行_Spring AOP无法拦截内部方法调用
假设一个接口里面有两个方法: package demo.long;public interfaceCustomerService {public voiddoSomething1();public v ...
- ThinkPHP跨控制器调用方法
跨控制器调用方法 1. 先造对象,再调用里面的方法 $sc=new \Home\Controller\IndexController(); 用绝对路径找 echo $sc->ShuChu(); ...
最新文章
- LLVM一些语法规则
- react中使用scss_我如何将CSS模块和SCSS集成到我的React应用程序中
- 对于有A[0…N]有序的数组,判断是否存在A[i]=I 如果存在的话返回Index,
- python中文软件-Python
- Windows电脑C盘老是报红
- 直播预告丨B2B 企业如何高效获客增长?
- 三菱a系列motion软体_合肥三菱FR-A840-07700-2
- phpword这个问题的产生中国扭曲
- 对象序列化与反序列化(二进制 byte[])
- 腾讯面试官这样问我二叉树,我刚好都会 | 原力计划
- 《城市轨道交通——产业关联理论与应用》读书笔记
- Oracle数据库出现“本地计算机上的OracleOraDB11g_homeTNSListener服务启动后停止.....”问题解决方案...
- oracle 后台执行sql,后台执行oracle sql脚本
- 华为云服务器配置教程
- 开源搜索引擎排名第一,Elasticearch是如何做到的?
- MATLAB如何提取曲线原始数据
- 隐马尔科夫模型(HMM)等文章记录
- 哪个PDF软件好用?这几款你们知道吗?
- “天空起重机”助力好奇号着陆盖尔撞击坑
- 后缀自动机入门/基本概念
热门文章
- CSS完美兼容IE6/IE7/FF的通用方法 ~!!!
- useful websites for constructing your own website
- 2021-02-22 【转载】什么是GCJ-02火星坐标系;为什么天地图没有偏移
- 【我的相册】北方的传统面艺
- GDAL源码剖析(一)
- Unity2D之Sprite动画相关
- (转)Managed DirectX +C# 开发(入门篇)(六)
- linux 编写sh文件,linux编写shell脚本程序one官方
- java ee 程序_第一个 JavaEE 应用程序 - JavaWeb 入门开发教程
- mysql 事务原子性_数据库事务原子性、一致性是怎样实现的?