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新手上路(九)
Oct 09 PHP
php下载远程文件类(支持断点续传)
Nov 14 PHP
关于PHP结束标签的使用细节探讨及联想
Mar 04 PHP
php 下载保存文件保存到本地的两种实现方法
Aug 12 PHP
PHP生成自定义长度随机字符串的函数分享
May 04 PHP
给WordPress中的留言加上楼层号的PHP代码实例
Dec 14 PHP
WordPress中转义HTML与过滤链接的相关PHP函数使用解析
Dec 22 PHP
php用正则判断是否为数字的方法
Mar 25 PHP
CI框架文件上传类及图像处理类用法分析
May 18 PHP
php compact 通过变量创建数组
Nov 15 PHP
php的RSA加密解密算法原理与用法分析
Jan 23 PHP
PHP Beanstalkd消息队列的安装与使用方法实例详解
Feb 21 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 采集获取指定网址的内容
2010/01/05 PHP
php实现按文件名搜索文件的远程文件查找器
2014/05/10 PHP
php堆排序实现原理与应用方法
2015/01/03 PHP
php实现概率性随机抽奖代码
2016/01/02 PHP
php中实现字符串翻转的方法
2017/02/22 PHP
简单谈谈PHP面向对象之标识对象
2017/06/27 PHP
php学习笔记之字符串常见操作总结
2019/07/16 PHP
php+jQuery ajax实现的实时刷新显示数据功能示例
2019/09/12 PHP
PHP7 list() 函数修改
2021/03/09 PHP
javascript之AJAX框架使用说明
2010/04/24 Javascript
JS的replace方法详细介绍
2012/11/09 Javascript
jquery全选checkBox功能实现代码(取消全选功能)
2013/12/10 Javascript
javascript限制文本框输入值类型的方法
2015/05/07 Javascript
初识angular框架后的所思所想
2016/02/19 Javascript
javascript中call,apply,bind函数用法示例
2016/12/19 Javascript
ES5学习教程之Array对象
2017/04/01 Javascript
Angular 4.x 路由快速入门学习
2017/05/03 Javascript
详解Angular之constructor和ngOnInit差异及适用场景
2017/06/22 Javascript
vue+axios实现文件下载及vue中使用axios的实例
2018/09/21 Javascript
原生js实现each方法实例代码详解
2019/05/27 Javascript
Element ui 下拉多选时新增一个选择所有的选项
2019/08/21 Javascript
python转换摩斯密码示例
2014/02/16 Python
Python中Collection的使用小技巧
2014/08/18 Python
Python的Django框架安装全攻略
2015/07/15 Python
利用Python抓取行政区划码的方法
2016/11/28 Python
Python 高级专用类方法的实例详解
2017/09/11 Python
Python基本socket通信控制操作示例
2019/01/30 Python
Django用户认证系统 Web请求中的认证解析
2019/08/02 Python
使用python切片实现二维数组复制示例
2019/11/26 Python
python mysql中in参数化说明
2020/06/05 Python
美国在线眼镜商城:Eyeglasses.com
2017/06/26 全球购物
屈臣氏乌克兰:Watsons UA
2019/10/29 全球购物
软件测试有哪些?什么是配置项?
2012/02/12 面试题
小学师德师风整改措施
2014/10/27 职场文书
2014年学校安全工作总结
2014/11/13 职场文书
2016年中秋祝酒词
2015/11/26 职场文书