`
crystalwiner
  • 浏览: 90538 次
  • 性别: Icon_minigender_2
  • 来自: 深圳
社区版块
存档分类
最新评论

CI框架与widget(页面布局)

    博客分类:
  • php
阅读更多
 
    在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 -->

分享到:
评论

相关推荐

    CI框架整合widget(页面格局)的方法

    CI框架整合widget页面格局的方法主要是通过在CodeIgniter(CI)框架中引入widget概念来实现的。widget是一种模块化的页面组件,用于封装重复出现的页面布局和功能,比如头部、左侧导航栏、底部等。在CI框架中整合...

    CI简单实现widget

    **描述解析:** "分区域渲染页面,更大的灵活性" 暗示了在CI框架中,通过Widget功能,开发者可以将一个大的视图拆分成多个小的、独立的部分,每个部分对应页面上的一个特定区域,如头部、导航、主要内容、侧边栏和...

    F4LabFlutter实现的GitLab客户端

    6. **持续集成/持续部署(CI/CD)**:如果项目包含CI/CD相关设置,可能涉及到GitLab CI/CD的使用,了解如何编写`.gitlab-ci.yml`文件来自动化测试和部署流程。 对于想要深入学习Flutter开发和GitLab集成的开发者来说...

    iPhone+SDK编程入门经典:使用Objective-C

    ### iPhone SDK编程入门:使用Objective-C详解 #### 获取与理解iPhone SDK 对于任何希望进入iPhone应用开发领域的开发者而言,掌握如何获取与使用iPhone SDK(Software Development Kit)是至关重要的第一步。SDK...

    Weather-ToDo-Widget

    10. **持续集成/持续部署(CI/CD)**:对于开源项目,CI/CD工具如Travis CI或Jenkins可以帮助自动化构建和部署过程,确保代码的稳定性和可维护性。 以上就是"Weather-ToDo-Widget"项目可能涉及到的主要JavaScript知识...

    widget_catalog

    持续集成和持续部署(CI/CD)流程可以帮助自动化这个过程,并确保代码的质量和稳定性。 10. **社区和资源**:Dart和Flutter拥有活跃的开发者社区,提供丰富的教程、博客、StackOverflow问答和GitHub示例。这些资源...

    [个人毕业设计项目]-基于Flutter的聊天社交应用-开源版本.zip

    10. **持续集成/持续部署(CI/CD)**:通过Jenkins、Travis CI或GitHub Actions等工具自动化构建和部署流程,确保代码质量并加速开发迭代。 11. **人工智能**:虽然标签中提到“人工智能”,但没有具体说明在项目中的...

    Qt iphone滑动界面示意

    在IT行业中,Qt是一个广泛应用的跨平台开发框架,主要用于创建桌面、移动以及嵌入式系统的用户界面。在iOS平台上,虽然Apple推荐使用Swift或Objective-C进行原生开发,但Qt仍然提供了一种方法来实现类似iPhone上的...

    The.iPhone.Developers.Cookbook,2nd

    1. **Objective-C与Swift对比**:书中可能会介绍Objective-C,它是iPhone开发的传统语言,同时也可能提及Apple后来推出的Swift,两者之间的语法差异和优缺点。 2. **Xcode IDE**:Xcode是iOS开发的核心工具,书中会...

    PyQt5基础-创建对话框,简述了PyQt5使用过程,使用QtWidgets、QPushButton类说明

    PyQt5是一个强大的工具,它允许...同时,PyQt5还提供了丰富的布局管理、信号与槽机制等功能,使得界面设计和事件处理更加灵活和高效。因此,无论是初学者还是经验丰富的开发者,PyQt5都是一个值得学习和使用的工具。

    测试代码啊啊啊啊啊啊啊啊啊啊啊啊啊

    在IT行业中,编程和软件开发是一项关键任务,而测试代码是确保软件质量的重要环节。...此外,持续集成和自动化测试工具如Jenkins、Travis CI等也可以用来保证代码质量,并确保每次代码更改后都能正常运行。

    寻狗小程序的Flutter原生版本完全开源已经在苹果和安卓市场上架

    13. **持续集成/持续部署(CI/CD)**:为了确保代码质量和快速发布,开发者可能采用了Jenkins、Travis CI或CircleCI等工具实现自动化测试和部署。 14. **测试**:项目可能包含单元测试、集成测试和UI测试,确保代码的...

    mdc_100_series

    此外,你还将学习Dart的现代特性,如async/await、泛型和dart:ffi(Foreign Function Interface),这些可以帮助你与C/C++库进行交互。 Flutter是Google的开放源代码UI工具包,用于构建高性能、高保真、跨平台的...

    andorid的天气预报

    12. **持续集成与部署**:采用Jenkins、Travis CI等工具可以实现代码自动化测试和构建,确保每次代码更新后都能快速部署到测试设备或发布到Google Play。 以上就是Android天气预报应用开发中的主要知识点,涵盖了从...

    编写高质量iOS与OS X代码PDF

    10. **扩展与插件开发**:例如Widget开发、Today扩展、Share扩展等,让应用可以与其他应用更好地协同工作。 由于获取完整PDF的链接已提供为"网盘链接地址.txt",读者需要自行下载获取详细内容。遇到问题时,可以...

    上海物联网行业h5前端开发专家岗位介绍JD模板.docx

    4. JavaScript/HTML/CSS/HTTP:作为前端开发的基础,开发者需要深入理解JavaScript的核心概念,包括ES6及以上的特性,HTML结构布局,CSS样式控制,以及HTTP协议的工作原理,以便实现与后端服务的有效通信。...

    一套很酷的flutterUI控件

    10. **持续集成/持续部署(CI/CD)**:项目可能已经配置了GitHub Actions或其他CI/CD工具,使得代码合并和版本发布自动化。 总的来说,这套"很酷的flutter UI控件"将为开发者带来一系列美观且功能丰富的界面元素,...

    Java跳棋(基于SWT)项目源代码

    此外,持续集成和持续部署(CI/CD)的实践也可能体现在项目的构建流程中。 以上就是基于SWT的Java跳棋项目所涉及到的关键技术点,通过学习和理解这个项目,开发者不仅可以提升在GUI编程方面的技能,还能深入理解...

    be-the-hero-mobile-master.rar

    10. **持续集成/持续部署(CI/CD)**:可能有配置文件如.travis.yml或CircleCI,介绍如何自动化测试和部署。 11. **许可证**:项目通常包含LICENSE文件,说明软件的使用许可,这涉及到开源协议的理解和遵守。 通过...

    使用ViewPager实现高仿launcher左右拖动效果

    PagerAdapter需要实现`InflatePage()`方法来为每个页面加载布局,并实现`getCount()`来返回页面总数。 例如,每个页面可以是一个简单的`LinearLayout`,包含一个背景图片,如`item1.xml`: ```xml android:...

Global site tag (gtag.js) - Google Analytics