网站地图    收藏   

主页 > 后端 > codeigniter >

php CodeIgniter框架HMVC扩展

来源:未知    时间:2015-04-22 09:58 作者:xxadmin 阅读:

[导读] 就像CI,如果你要在不同页面包含一些公用模块,如果这个公用模块只是一个简单的html,那么你可以直接对它进行包含: ?php $this-load-view(footer);? 就像这样,你就可以把页面的footer模块...

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

 

<?php $this->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代码:
<?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、在其他页面中包含
<!-- 加载侧边栏菜单模块 -->
<?php $this->load->module('sidebar/sidebar/index');?>

注意这里的包含方法是:
$this->load->module('模块名/控制器/方法');

这样我们就可以在不同页面中包含sidebar模块了,其实这些在HMVC 的GIT上都有详细说明了。

自学PHP网专注网站建设学习,PHP程序学习,平面设计学习,以及操作系统学习

京ICP备14009008号-1@版权所有www.zixuephp.com

网站声明:本站所有视频,教程都由网友上传,站长收集和分享给大家学习使用,如由牵扯版权问题请联系站长邮箱904561283@qq.com

添加评论