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
PHP+APACHE实现用户论证的方法
Oct 09 PHP
linux命令之调试工具strace的深入分析
Jun 03 PHP
php的mkdir()函数创建文件夹比较安全的权限设置方法
Jul 28 PHP
DOM基础及php读取xml内容操作的方法
Jan 23 PHP
PHP异常处理浅析
May 12 PHP
php获取json数据所有的节点路径
May 17 PHP
PHP用FTP类上传文件视频等的简单实现方法
Sep 23 PHP
小程序微信退款功能实现方法详解【基于thinkPHP】
May 05 PHP
php抽象类和接口知识点整理总结
Aug 02 PHP
PHP Primary script unknown 解决方法总结
Aug 22 PHP
mac pecl 安装php7.1扩展教程
Oct 17 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 反射机制实现动态代理的代码
2008/10/22 PHP
PHP语言中global和$GLOBALS[]的分析 之二
2012/02/02 PHP
php缩放gif和png图透明背景变成黑色的解决方法
2014/10/14 PHP
php根据日期或时间戳获取星座信息和生肖等信息
2015/10/20 PHP
Symfony2使用第三方库Upload制作图片上传实例详解
2016/02/04 PHP
PHP Header用于页面跳转时的几个注意事项
2016/10/21 PHP
Laravel关联模型中过滤结果为空的结果集(has和with区别)
2018/10/18 PHP
PHP如何使用JWT做Api接口身份认证的实现
2020/02/03 PHP
JS判断是否为数字,是否为整数,是否为浮点数的代码
2010/04/24 Javascript
JavaScript中“+”的陷阱深刻理解
2012/12/04 Javascript
Extjs4 GridPanel的主要配置参数详细介绍
2013/04/18 Javascript
jquery设置元素的readonly和disabled的写法
2013/09/22 Javascript
jQuery获取选中内容及设置元素属性的方法
2014/07/09 Javascript
纯javascript实现四方向文本无缝滚动效果
2015/06/16 Javascript
javascript设计模式之module(模块)模式
2016/08/19 Javascript
vue2组件实现懒加载浅析
2017/03/29 Javascript
jQuery ajax请求struts action实现异步刷新
2017/04/19 jQuery
React Native模块之Permissions权限申请的实例相机
2017/09/28 Javascript
JavaScript实现的DOM树遍历方法详解【二叉DOM树、多叉DOM树】
2018/05/07 Javascript
vue组件jsx语法的具体使用
2018/05/21 Javascript
Electron-vue脚手架改造vue项目的方法
2018/10/22 Javascript
详解webpack+ES6+Sass搭建多页面应用
2018/11/05 Javascript
javascript实现移动端触屏拖拽功能
2020/07/29 Javascript
vue实现下拉菜单树
2020/10/22 Javascript
[01:03:31]DOTA2上海特级锦标赛B组资格赛#1 Alliance VS Fnatic第二局
2016/02/26 DOTA
python二维列表一维列表的互相转换实例
2018/07/02 Python
Python实现定制自动化业务流量报表周报功能【XlsxWriter模块】
2019/03/11 Python
在 Linux/Mac 下为Python函数添加超时时间的方法
2020/02/20 Python
在Django中自定义filter并在template中的使用详解
2020/05/19 Python
初二物理教学反思
2014/01/29 职场文书
机关驾驶员违规检讨书
2014/09/13 职场文书
乐山大佛导游词
2015/02/02 职场文书
胡桃夹子观后感
2015/06/11 职场文书
建筑工程挂靠协议书
2016/03/23 职场文书
请学会珍惜眼前,因为人生没有下辈子!
2019/11/12 职场文书
nginx配置虚拟主机的详细步骤
2021/07/21 Servers