微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

雷林鹏分享:php CodeIgniter框架HMVC扩展

  CodeIgniter是个非常棒的PHP框架,框架这个东西并不都是完美的,总用或多或少的不足之处。

  就像CI,如果你要在不同页面包含一些公用模块,如果这个公用模块只是一个简单的html,那么你可以直接对它进行包含:

  load->view('footer');?>

  就像这样,你就可以把页面的footer模块包含到不同页面的视图中。

  但是,如果公用模块不只是简单的html,而有些数据是需要从库中获取的,这时你通过上面的方式进行包含,发现是行不通的,这时我们就需要通过一些扩展来实现了。

  要解决这个问题,CodeIgniter框架HMVC扩展是个不错的选择,自己也一直在使用这个扩展。你可以在GIT上获取更多关于HMVC的信息:https://github.com/CodeIgniter/HMVC

  你可以从GIT上获取相关的代码代码包中也包含了一些的使用例子,这里简单介绍一些HMVC模式的使用:

  下载的代码包中包含:_test文件夹、application文件夹、README.md三个部分,对我们有用的都在application文件夹中。

  application文件夹中包含6个部分:controllers、core、models、modules、third_party、views

  这里我们需要做的是:

  1、把core文件夹中的4个文件复制到自己项目应用中的core文件夹中;

  2、把third_party文件夹中的文件复制到自己项目应用中的third_party文件夹中;

  3、在项目应用中建立modules目录,这里以sidebar侧边栏模块进行举例:

  在建立后的modules目录中建立目录sidebar,然后在sidebar目录中建立controllers、models、views目录

  4、建立sidebar侧边栏controller模块sidebar.PHP,文件名根据个人实际状况而定

  控制器sidebar.PHP代码

  

  if(!defined('BASEPATH')) exit('No direct script access allowed');

  class Sidebar_Sidebar_module extends CI_Module

  {

  function __construct()

  {

  parent::__construct();

  }

  public function index()

  {

  $this->load->view('sidebar');

  }

  }

  /* End of file sidebar.PHP */

  /* Location: ./application/modules/sidebar/controllers/sidebar.PHP */

  这里需要注意的是控制器类名的命名方式

  modules名_控制器文件名_module

  5、在视图views目录建立相应的视图文件sidebar.PHP

  6、在其他页面中包含

  

  load->module('sidebar/sidebar/index');?>

  注意这里的包含方法是:

  $this->load->module('模块名/控制器/方法');

  这样我们就可以在不同页面中包含sidebar模块了,其实这些在HMVC 的GIT上都有详细说明了。文章转载自 [http://www.PHP230.com]

  (编辑:雷林鹏 来源:网络 侵删)

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐