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下尝试使用GraphicsMagick的缩略图功能
Jan 01 PHP
全新的PDO数据库操作类php版(仅适用Mysql)
Jul 22 PHP
PHP代码保护--Zend Guard的使用详解
Jun 03 PHP
基于session_unset与session_destroy的区别详解
Jun 03 PHP
PHP实现支持GET,POST,Multipart/form-data的HTTP请求类
Sep 24 PHP
Laravel 5框架学习之表单
Apr 08 PHP
PHP的Yii框架中View视图的使用进阶
Mar 29 PHP
php readfile下载大文件失败的解决方法
May 22 PHP
php对象工厂类完整示例
Aug 09 PHP
PHP数据源架构模式之表入口模式实例分析
Jan 23 PHP
PHP实现随机发放扑克牌
Apr 21 PHP
PHP实现简单日历类编写
Aug 28 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 zend解密软件绿色版测试可用
2008/04/14 PHP
PHP 页面跳转到另一个页面的多种方法方法总结
2009/07/07 PHP
php 注释规范
2012/03/29 PHP
一款简单实用的php操作mysql数据库类
2014/12/08 PHP
yii2.0框架实现上传excel文件后导入到数据库的方法示例
2020/04/13 PHP
Yii Framework框架开发微信公众平台示例
2020/04/26 PHP
asp.net+jquery滚动滚动条加载数据的下拉控件
2010/06/25 Javascript
关于Javascript作用域链的八点总结
2013/12/06 Javascript
js通过更改按钮的显示样式实现按钮的滑动效果
2014/04/23 Javascript
Javascript中的默认参数详解
2014/10/22 Javascript
js实现简单秒表走动的时钟特效
2020/03/25 Javascript
浅谈JavaScript的push(),pop(),concat()方法
2016/06/03 Javascript
详解Angular4 路由设置相关
2017/08/26 Javascript
Angular实现的自定义模糊查询、排序及三角箭头标注功能示例
2017/12/28 Javascript
利用vue和element-ui设置表格内容分页的实例
2018/03/02 Javascript
浅谈webpack 自动刷新与解析
2018/04/09 Javascript
Vue 页面跳转不用router-link的实现代码
2018/04/12 Javascript
html+jQuery实现拖动滑块图片拼图验证码插件【移动端适用】
2019/09/10 jQuery
微信小程序如何实现精确的日期时间选择器
2020/01/21 Javascript
[01:10]为家乡而战!完美世界城市挑战赛全国总决赛花絮
2019/07/25 DOTA
详解TensorFlow在windows上安装与简单示例
2018/03/05 Python
Python实现简易过滤删除数字的方法小结
2019/01/09 Python
Python实战购物车项目的实现参考
2019/02/20 Python
pygame实现贪吃蛇游戏(上)
2019/10/29 Python
CSS3近阶段篇之酷炫的3D旋转透视
2016/04/28 HTML / CSS
诗狄娜化妆品官方网站:Stila Cosmetics
2016/12/21 全球购物
高中毕业自我鉴定范文
2013/10/02 职场文书
高三语文教学反思
2014/01/15 职场文书
户外拓展活动方案
2014/02/11 职场文书
2014信息公开实施方案
2014/02/22 职场文书
求职面试个人自我评价
2014/02/28 职场文书
给校长的建议书500字
2014/05/15 职场文书
党员廉洁自律个人总结
2015/02/13 职场文书
辞职信怎么写
2015/02/27 职场文书
三方合作意向书范本
2015/05/09 职场文书
pandas中关于apply+lambda的应用
2022/02/28 Python