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 相关文章推荐
教你IIS6的PHP最佳配置方法
Sep 05 PHP
PHP实现Socket服务器的代码
Apr 03 PHP
PHP 程序员应该使用的10个组件
Oct 31 PHP
PHP中几个常用的魔术常量
Feb 23 PHP
php图像处理函数大全(推荐收藏)
Jul 11 PHP
php实现按照权重随机排序数据的方法
Jan 09 PHP
php操作(删除,提取,增加)zip文件方法详解
Mar 12 PHP
Zend Framework+smarty用法实例详解
Mar 19 PHP
简单理解PHP的面向对象编程方式
May 17 PHP
Adnroid 微信内置浏览器清除缓存
Jul 11 PHP
php获取手机端的号码以及ip地址实例代码
Sep 12 PHP
tp5框架内使用tp3.2分页的方法分析
May 05 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下通过QRCode类库创建中间带网站LOGO的二维码
2014/07/12 PHP
如何利用http协议发布博客园博文评论
2015/08/03 PHP
PHP7正式版测试,性能惊艳!
2015/12/08 PHP
用JS写的一个TableView控件代码
2010/01/23 Javascript
javascript实现tabs选项卡切换效果(扩展版)
2013/03/19 Javascript
ExtJS4 动态生成的grid导出为excel示例
2014/05/02 Javascript
jQuery.extend()、jQuery.fn.extend()扩展方法示例详解
2014/05/08 Javascript
JavaScript的jQuery库插件的简要开发指南
2015/08/12 Javascript
js+css实现超简洁的二级下拉菜单效果代码
2015/09/07 Javascript
基于JavaScript操作DOM常用的API小结
2015/12/01 Javascript
jQuery中设置form表单中action值的实现方法
2016/05/25 Javascript
Node.js读写文件之批量替换图片的实现方法
2016/09/07 Javascript
浅谈jQuery this和$(this)的区别及获取$(this)子元素对象的方法
2016/11/29 Javascript
JS手机端touch事件计算滑动距离的方法示例
2017/10/26 Javascript
webpack4.x开发环境配置详解
2018/08/04 Javascript
[49:35]2018DOTA2亚洲邀请赛3月30日 小组赛A组 KG VS TNC
2018/03/31 DOTA
Python Web服务器Tornado使用小结
2014/05/06 Python
python实现在pickling的时候压缩的方法
2014/09/25 Python
详解Python3.1版本带来的核心变化
2015/04/07 Python
详解python基础之while循环及if判断
2017/08/24 Python
基于Python Numpy的数组array和矩阵matrix详解
2018/04/04 Python
通过Py2exe将自己的python程序打包成.exe/.app的方法
2018/05/26 Python
python抓取多种类型的页面方法实例
2019/11/20 Python
python文件处理fileinput使用方法详解
2020/01/02 Python
如何在python中实现线性回归
2020/08/10 Python
Python实现石头剪刀布游戏
2021/01/20 Python
详解Python中的Lock和Rlock
2021/01/26 Python
意大利中国电子产品购物网站:Geekmall.com
2019/09/30 全球购物
语文教育专业应届生求职信
2013/11/23 职场文书
五好家庭事迹材料
2014/12/20 职场文书
2015年母亲节活动策划方案
2015/05/04 职场文书
2015年超市工作总结范文
2015/05/26 职场文书
安全生产隐患排查制度
2015/08/05 职场文书
MySQL为id选择合适的数据类型
2021/06/07 MySQL
React Fragment介绍与使用详解
2021/11/11 Javascript
Go gorilla/sessions库安装使用
2022/08/14 Golang