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 相关文章推荐
NT IIS下用ODBC连接数据库
Oct 09 PHP
PHP中使用mktime获取时间戳的一个黑色幽默分析
May 31 PHP
用php来改写404错误页让你的页面更友好
Jan 24 PHP
php判断当前用户已在别处登录的方法
Jan 06 PHP
Laravel 5框架学习之路由、控制器和视图简介
Apr 07 PHP
[原创]php简单防盗链验证实现方法
Jul 09 PHP
php中static 静态变量和普通变量的区别
Dec 01 PHP
php自定义排序uasort函数示例【二维数组按指定键值排序】
Jun 19 PHP
PHP使用HTML5 FormData对象提交表单操作示例
Jul 02 PHP
PHP各种常见经典算法总结【排序、查找、翻转等】
Aug 05 PHP
laravel 解决groupBy时出现的错误 isn't in Group By问题
Oct 17 PHP
PHP7 新增功能
Mar 09 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实现图片旋转效果实例代码
2014/10/01 PHP
TP5(thinkPHP5框架)实现显示错误信息及行号功能的方法
2019/06/03 PHP
jQuery实现类似滑动门切换效果的层切换
2013/09/23 Javascript
javascript处理表单示例(javascript提交表单)
2014/04/28 Javascript
jQuery实现高亮显示的方法
2015/03/10 Javascript
javascript中对变量类型的判断方法
2015/08/09 Javascript
jQuery实现标题有打字效果的焦点图代码
2015/11/16 Javascript
JavaScript性能优化之小知识总结
2015/11/20 Javascript
JavaScript ES6的新特性使用新方法定义Class
2016/06/28 Javascript
Java  Spring 事务回滚详解
2016/10/17 Javascript
JavaScript限制在客户区可见范围的拖拽(解决scrollLeft和scrollTop的问题)(2)
2017/05/17 Javascript
Vue组件之Tooltip的示例代码
2017/10/18 Javascript
WebStorm中如何将自己的代码上传到github示例详解
2020/10/28 Javascript
Python中time模块与datetime模块在使用中的不同之处
2015/11/24 Python
Django使用redis缓存服务器的实现代码示例
2019/04/28 Python
使用Python做定时任务及时了解互联网动态
2019/05/15 Python
python mqtt 客户端的实现代码实例
2019/09/25 Python
Python 判断时间是否在时间区间内的实例
2020/05/16 Python
Django DRF APIView源码运行流程详解
2020/08/17 Python
美国最流行的男士时尚网站:Touch of Modern
2018/02/05 全球购物
SQL面试题
2013/04/30 面试题
银行门卫岗位职责
2013/12/29 职场文书
个人简历中的自我评价怎么写
2014/01/26 职场文书
护理中职生求职信范文
2014/02/24 职场文书
销售个人求职信范文
2014/04/28 职场文书
销售人员求职信
2014/07/22 职场文书
2014向国旗敬礼网上签名活动总结
2014/09/27 职场文书
2015新员工试用期工作总结
2014/12/12 职场文书
2015年幼儿园个人工作总结
2015/04/25 职场文书
医院员工辞职信范文
2015/05/12 职场文书
汶川大地震感悟
2015/08/10 职场文书
《唯一的听众》教学反思
2016/02/18 职场文书
诗词赏析-(浣溪沙)
2019/08/13 职场文书
MYSQL 表的全面总结
2021/11/11 MySQL
Python+tkinter实现高清图片保存
2022/03/13 Python
MySQL如何使备份得数据保持一致
2022/05/02 MySQL