CodeIgniter tips:视图中的参数传递

15 篇文章 0 订阅
14 篇文章 0 订阅
在CI框架中,很好的MVC分层结构,但其实在VIEW层方面,CI是可以设置参数传递的,比如,传统上的做法,是:
<?php
class Page extends Controller {
function index()
{
$data['page_title'] = 'Your title';
$this->load->view('header');
$this->load->view('menu');
$this->load->view('content', $data);
$this->load->view('footer');
}

}

这个是一个页面中的头部,中间实际部分,尾部的模版加载;其中CONTENT部分放的是实际的
数据变化内容的部分DATA,
而假设另外一个页面也是同样的结构的话,则一般会这样搞:
function page2()
{
$data['page_title'] = 'Your title for content 2';
$this->load->view('header');
$this->load->view('menu');
$this->load->view('content2', $data);
$this->load->view('footer');
}
}
  但可以看到,随着页面的规模增大,这样的写法是很累赘的哦,可以考虑如下的写法:
单独创建一个container.php,放在/system/application/view/目录下,
<html>
<head>
<?php
$this->load->view('meta');
?>
</head>
<body>
<?php
$this->load->view('header');
$this->load->view('menu');
$this->load->view($page);

$this->load->view('footer');
?>
</body>
  注意这里的$page实际上是变化的参数,
则在控制层中,可以这样:
<?php
class Pages extends Controller {
function index() {
$data['page_title'] = 'Your title';
$data['page'] = 'content'; //这里传递的是实际的显示变化内容的模版
$this->load->view('container',$data);
}

function page2() {
$data['page_title'] = 'Your title for content 2';
$data['page'] = 'content2';
$this->load->view('container',$data);
}
}
?>
</html>
  这样就十分简单了,整体VIEW层的结构也很好
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值