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 出现乱码和Sessions验证问题的解决方法!
Dec 06 PHP
CI框架给视图添加动态数据
Dec 01 PHP
php通过获取头信息判断图片类型的方法
Jun 26 PHP
WordPress中重置文章循环的rewind_posts()函数讲解
Jan 11 PHP
PHP读书笔记整理_结构语句详解
Jul 01 PHP
php版微信公众平台接口开发之智能回复开发教程
Sep 22 PHP
PHP实现字符串翻转功能的方法【递归与循环算法】
Nov 03 PHP
CI框架实现创建自定义类库的方法
Dec 25 PHP
微信公众平台开发教程⑤ 微信扫码支付模式介绍
Apr 10 PHP
Yii2框架加载css和js文件的方法分析
May 25 PHP
laravel高级的Join语法详解以及使用Join多个条件
Oct 16 PHP
PHP 扩展Memcached命令用法实例总结
Jun 04 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目录导航文件代码
2006/10/09 PHP
浅析php变量修饰符static的使用
2013/06/28 PHP
php连接oracle数据库及查询数据的方法
2014/12/29 PHP
PHP实现将base64编码字符串转换成图片示例
2018/06/22 PHP
PHP中soap用法示例【SoapServer服务端与SoapClient客户端编写】
2018/12/25 PHP
浅谈Laravel中的三种中间件的作用
2019/10/13 PHP
javascript 类方法定义还是有点区别
2009/04/15 Javascript
IE不支持getElementsByClassName最终完美解决方案
2012/12/17 Javascript
jQuery学习笔记(3)--用jquery(插件)实现多选项卡功能
2013/04/08 Javascript
原生js实现给指定元素的后面追加内容
2013/04/10 Javascript
基于jquery实现的文字淡入淡出效果
2013/11/14 Javascript
JavaScript定义类的几种方式总结
2014/01/06 Javascript
Javascript+CSS实现影像卷帘效果思路及代码
2014/10/20 Javascript
js实现新浪微博首页效果
2015/10/16 Javascript
微信小程序表单验证错误提示效果
2017/05/19 Javascript
Next.js项目实战踩坑指南(笔记)
2018/11/29 Javascript
JavaScript实现获取两个排序数组的中位数算法示例
2019/02/26 Javascript
详解基于React.js和Node.js的SSR实现方案
2019/03/21 Javascript
jQuery实现图片随机切换、抽奖功能(实例代码)
2019/10/23 jQuery
详解JavaScript作用域、作用域链和闭包的用法
2020/09/03 Javascript
Python设计模式之命令模式简单示例
2018/01/10 Python
python距离测量的方法
2018/03/06 Python
python pexpect ssh 远程登录服务器的方法
2019/02/14 Python
用Q-learning算法实现自动走迷宫机器人的方法示例
2019/06/03 Python
Python+Selenium使用Page Object实现页面自动化测试
2019/07/14 Python
python+selenium 脚本实现每天自动登记的思路详解
2020/03/11 Python
美国创意礼品网站:UncommonGoods
2017/02/03 全球购物
新西兰购物网站:TheMarket NZ
2020/09/19 全球购物
软件工程专业推荐信
2013/10/28 职场文书
年度考核自我鉴定
2014/02/02 职场文书
2014年三八妇女节活动总结
2014/03/01 职场文书
医学专业自荐信
2014/06/14 职场文书
推普周活动总结
2014/08/28 职场文书
司法局2014法制宣传日活动总结
2014/11/01 职场文书
详解如何修改nginx的默认端口
2021/03/31 Servers
win11高清晰音频管理器在哪里?win11找不到高清晰音频管理器解决办法
2022/04/08 数码科技