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.ini中文版
Oct 09 PHP
在mysql数据库原有字段后增加新内容
Nov 26 PHP
利用php获取服务器时间的实现代码
Jun 07 PHP
深入php socket的讲解与实例分析
Jun 13 PHP
新手菜鸟必读:session与cookie的区别
Aug 22 PHP
php文字水印和php图片水印实现代码(二种加水印方法)
Dec 25 PHP
PHP jQuery表单,带验证具体实现方法
Feb 15 PHP
分享一段PHP制作的中文拼音首字母工具类
Dec 11 PHP
作为程序员必知的16个最佳PHP库
Dec 09 PHP
php版微信公众平台实现预约提交后发送email的方法
Sep 26 PHP
PHP的Json中文处理解决方案
Sep 29 PHP
php+mysql实现的无限分类方法类定义与使用示例
May 27 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获取网卡的MAC地址支持WIN/LINUX系统
2014/04/30 PHP
php实现的常见排序算法汇总
2014/09/08 PHP
PHP的Yii框架的常用日志操作总结
2015/12/08 PHP
php session 写入数据库
2016/02/13 PHP
遍历echsop的region表形成缓存的程序实例代码
2016/11/01 PHP
PHP守护进程化在C和PHP环境下的实现
2017/11/21 PHP
php中get_object_vars()在数组的实例用法
2021/02/22 PHP
Mootools 1.2教程 Tooltips
2009/09/15 Javascript
javascript 获取函数形参个数
2014/07/31 Javascript
仅30行代码实现Javascript中的MVC
2016/02/15 Javascript
jQuery easyui刷新当前tabs的方法
2016/09/23 Javascript
vue分类筛选filter方法简单实例
2017/03/30 Javascript
Vue响应式原理详解
2017/04/18 Javascript
vue拦截器Vue.http.interceptors.push使用详解
2017/04/22 Javascript
Node.js对MongoDB数据库实现模糊查询的方法
2017/05/03 Javascript
利用ES6的Promise.all实现至少请求多长时间的实例
2017/08/28 Javascript
微信小程序scroll-x失效的完美解决方法
2018/07/18 Javascript
vue组件开发props验证的实现
2019/02/12 Javascript
详解微信UnionID作用
2019/05/15 Javascript
微信小程序实现侧边栏分类
2019/10/21 Javascript
详细分析Node.js 模块系统
2020/06/28 Javascript
vue-model实现简易计算器
2020/08/17 Javascript
python解析xml文件实例分享
2013/12/04 Python
在Pycharm中项目解释器与环境变量的设置方法
2018/10/29 Python
python 进程的几种创建方式详解
2019/08/29 Python
Django 请求Request的具体使用方法
2019/11/11 Python
Django用户身份验证完成示例代码
2020/04/03 Python
PyQt5-QDateEdit的简单使用操作
2020/07/12 Python
python unichr函数知识点总结
2020/12/16 Python
物业经理求职自我评价
2013/09/22 职场文书
药店促销活动总结
2014/07/10 职场文书
小学优秀班主任材料
2014/12/17 职场文书
幼儿园六一主持词开场白
2015/05/28 职场文书
小组口号霸气押韵
2015/12/24 职场文书
只需要12页,掌握撰写一流商业计划书的技巧
2019/05/07 职场文书
vue如何使用模拟的json数据查看效果
2022/03/31 Vue.js