CI框架整合widget(页面格局)的方法


Posted in PHP onMay 17, 2016

本文实例讲述了CI框架整合widget(页面格局)的方法。分享给大家供大家参考,具体如下:

在WEB开发过程中,我们免不了要输出视图文件,而通常视图文件又一般都少不了头部、左侧栏以及底部这些公共元素。

如何让整个项目开发在涉及视图套用时引入敏捷的思维,提高效率呢?就不得不提一下widget。承然你也大可以使用HMVC模型。

这里仅介绍下widget如何结合入CI框架中:

1、在类文件MY_Controller.php中添加调用方法:

/*
* 如果$name存在则调用widget类及widget方法
*@param string $name
*/
protected function widget ($name = '')
{
    if (isset($name) && $name != '')
    {
      require_once BASE_WIDGET.$name.'.php';
    }
}

2、定义widget类文件:

<?php
/*------------
widget.php 组件包含自己的控制器,视图,模型(可以共用普通model)
*用来实现各页面都有的公共部分
@author crystal 20120106
--------------*/
class Widget extends MY_Controller
{
  private function __construct()
  {
    parent::MY_Controller();
  }
  /*** 获取当前类名*/
  private static function _getClass()
  {
    return __CLASS__;
  }
  public static function left()
  {
    $class = self::_getClass();
    $data['userinfo'] = MY_Controller::_getUserCookieInfo();
    $this->load->view('com/left.php',$data);
  }
}
?>

3、在视图文件中调用(在相应的控制器中应该先调用父类控制中的widget方法):

<!--left sider -->
<div>
<?php Widget::left();?>
</div>
...
<!--/left sider -->

希望本文所述对大家基于CodeIgniter框架的PHP程序设计有所帮助。

PHP 相关文章推荐
php 获取当前访问的url文件名的方法小结
Feb 08 PHP
PHP 事件机制(2)
Mar 23 PHP
PHP的变量类型和作用域详解
Mar 12 PHP
跟我学Laravel之请求与输入
Oct 15 PHP
php保存信息到当前Session的方法
Mar 16 PHP
php获取从百度、谷歌等搜索引擎进入网站关键词的方法
Jul 08 PHP
php is_executable判断给定文件名是否可执行实例
Sep 26 PHP
PHP文件上传操作实例详解
Sep 27 PHP
PHP按符号截取字符串的指定部分的实现方法
Sep 10 PHP
thinkphp框架类库扩展操作示例
Nov 26 PHP
PHP设计模式(一)工厂模式Factory实例详解【创建型】
May 02 PHP
Laravel的加密解密与哈希实例讲解
Mar 24 PHP
深入剖析浏览器退出之后php还会继续执行么
May 17 #PHP
CI框架出现mysql数据库连接资源无法释放的解决方法
May 17 #PHP
CI框架集成Smarty的方法分析
May 17 #PHP
CI框架中数据库操作函数$this-&gt;db-&gt;where()相关用法总结
May 17 #PHP
CI框架中redis缓存相关操作文件示例代码
May 17 #PHP
Yii2如何批量添加数据
May 17 #PHP
PHP并发多进程处理利器Gearman使用介绍
May 16 #PHP
You might like
使用PHP导出Redis数据到另一个Redis中的代码
2014/03/12 PHP
微信推送功能实现方式图文详解
2019/07/12 PHP
Mootools 1.2教程 选项卡效果(Tabs)
2009/09/15 Javascript
JavaScript类库D
2010/10/24 Javascript
js日期时间补零的小例子
2013/03/05 Javascript
Jquery对象和Dom对象的区别分析
2014/11/20 Javascript
深入学习JavaScript中的Rest参数和参数默认值
2015/07/28 Javascript
详解Webwork中Action 调用的方法
2016/02/02 Javascript
javascript用正则表达式过滤空格的实现代码
2016/06/14 Javascript
Javascript 跨域知识详细介绍
2016/10/30 Javascript
JavaScript实现解析INI文件内容的方法
2016/11/17 Javascript
Easyui Datagrid自定义按钮列(最后面的操作列)
2017/07/13 Javascript
bootstrap-table组合表头的实现方法
2017/09/07 Javascript
jQuery+vue.js实现的多选下拉列表功能示例
2019/01/15 jQuery
微信小程序仿今日头条导航栏滚动解析
2019/08/20 Javascript
解决layui调用自定义方法提示未定义的问题
2019/09/14 Javascript
python如何获取当前文件夹下所有文件名详解
2019/01/25 Python
python中调试或排错的五种方法示例
2019/09/12 Python
django 中使用DateTime常用的时间查询方式
2019/12/03 Python
Python HTMLTestRunner可视化报告实现过程解析
2020/04/10 Python
5行Python代码实现图像分割的步骤详解
2020/05/25 Python
numpy中生成随机数的几种常用函数(小结)
2020/08/18 Python
Scrapy爬虫文件批量运行的实现
2020/09/30 Python
Python 删除List元素的三种方法remove、pop、del
2020/11/16 Python
python实现企业微信定时发送文本消息的示例代码
2020/11/24 Python
Selenium+BeautifulSoup+json获取Script标签内的json数据
2020/12/07 Python
英国简约舒适女装品牌:Great Plains
2018/07/27 全球购物
英国在线照明超市:Castlegate Lights
2019/10/30 全球购物
集体生日活动方案
2014/08/18 职场文书
2014迎国庆演讲稿
2014/09/19 职场文书
队列队形口号
2015/12/25 职场文书
《祁黄羊》教学反思
2016/02/20 职场文书
股东协议书范本2016
2016/03/21 职场文书
带你彻底理解JavaScript中的原型对象
2021/04/14 Javascript
Django框架模板用法详解
2022/06/10 Python
mysql sock 文件解析及作用讲解
2022/07/15 MySQL