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 相关文章推荐
超级简单的发送邮件程序
Oct 09 PHP
php4的彩蛋
Oct 09 PHP
PHP 的ArrayAccess接口 像数组一样来访问你的PHP对象
Oct 12 PHP
php数据入库前清理 注意php intval与mysql的int取值范围不同
Dec 12 PHP
PhpMyAdmin出现export.php Missing parameter: what /export_type错误解决方法
Aug 09 PHP
PHP rawurlencode与urlencode函数的深入分析
Jun 08 PHP
是 WordPress 让 PHP 更流行了 而不是框架
Feb 03 PHP
[原创]PHP字符串中插入子字符串方法总结
May 06 PHP
thinkPHP3.x常量整理(预定义常量/路径常量/系统常量)
May 20 PHP
PHP实现QQ快速登录的方法
Sep 28 PHP
php格式文件打开的四种方法
Feb 24 PHP
thinkphp5实现微信扫码支付
Dec 23 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中jpgraph类库的使用介绍
2013/08/08 PHP
JavaScript计算字符串中每个字符出现次数的小例子
2013/07/02 Javascript
关闭时刷新父窗口两种方法
2014/05/07 Javascript
js中将String转换为number以便比较
2014/07/08 Javascript
JavaScript中实现PHP的打乱数组函数shuffle实例
2014/10/11 Javascript
jQuery实现炫酷的鼠标轨迹特效
2015/02/01 Javascript
JavaScript数据结构与算法之栈详解
2015/03/12 Javascript
JavaScript头像上传插件源码分享
2016/03/29 Javascript
jQuery实现的表头固定效果实例【附完整demo源码下载】
2016/08/01 Javascript
json定义及jquery操作json的方法
2016/10/03 Javascript
bootstrap基础知识学习笔记
2016/11/02 Javascript
微信小程序购物商城系统开发系列-工具篇的介绍
2016/11/21 Javascript
JS判断是否为JSON对象及是否存在某字段的方法(推荐)
2016/11/29 Javascript
jQuery.Validate表单验证插件的使用示例详解
2017/01/04 Javascript
js阻止移动端页面滚动的两种方法
2017/01/25 Javascript
PHP实现记录代码运行时间封装类实例教程
2017/05/08 Javascript
基于JavaScript实现无限加载瀑布流
2017/07/21 Javascript
浅谈Postman解决token传参的问题
2018/03/31 Javascript
vue-content-loader内容加载器的使用方法
2018/08/05 Javascript
JavaScript链式调用实例浅析
2018/12/19 Javascript
JavaScript 作用域scope简单汇总
2019/10/23 Javascript
node脚手架搭建服务器实现token验证的方法
2021/01/20 Javascript
JavaScript Dom实现轮播图原理和实例
2021/02/19 Javascript
Python实现的单向循环链表功能示例
2017/11/10 Python
基于MTCNN/TensorFlow实现人脸检测
2018/05/24 Python
python numpy 显示图像阵列的实例
2018/07/02 Python
浅谈numpy生成数组的零值问题
2018/11/12 Python
Python分割训练集和测试集的方法示例
2019/09/19 Python
写好求职信第一句话的技巧
2013/10/26 职场文书
董事长职责范文
2013/11/08 职场文书
创业计划书的内容步骤和要领
2014/01/04 职场文书
母亲节感恩寄语
2014/02/21 职场文书
学雷锋志愿者活动总结
2014/06/27 职场文书
2014年教师节国旗下讲话稿
2014/09/10 职场文书
工作经常出错的检讨书
2014/09/13 职场文书
2014基建处领导班子“四风”对照检查材料思想汇报
2014/10/04 职场文书