一、建立合理的目录结构

  

admin与home为后台和前台的控制器和模板文件夹

二、定义前后台视图路径常量

在constants.php中添加如下代码:

//定义前台视图路径常量
define('HOME_VIEW_DIR', 'views/home/');
//定义后台视图路径常量
define('ADMIN_VIEW_DIR', 'views/admin/');

三、创建扩展加载器

在core文件夹中创建MY_Loader.php,代码如下:

<?php
/**
* Created by PhpStorm.
* User: Administrator
* Date: 2019/2/16 0016
* Time: 下午 1:31
*/
defined('BASEPATH') OR exit('No direct script access allowed'); class MY_Loader extends CI_Loader
{
/**
* @Description: 设置前台模板页面路径
* @Author: Yang
*/
public function set_home_view_dir()
{
$this->_ci_view_paths = array(APPPATH . HOME_VIEW_DIR => TRUE);
} /**
* @Description: 设置后台模板页面路径
* @Author: Yang
*/
public function set_admin_view_dir()
{
$this -> _ci_view_paths = array(APPPATH . ADMIN_VIEW_DIR => TRUE);
}
}

四、创建前台控制器

在home文件夹中添加index.php文件,代码如下:

<?php
/**
* Created by PhpStorm.
* User: Administrator
* Date: 2019/2/16 0016
* Time: 下午 1:25
*/
defined('BASEPATH') OR exit('No direct script access allowed'); class Index extends CI_Controller
{
public function __construct()
{
parent::__construct();
$this->load->set_home_view_dir();
} public function index()
{
$this->load->view("home.html");
}
}

访问前台结果如下图所示:

五、创建后台控制器

在admin文件夹中添加index.php,代码如下:

<?php
/**
* Created by PhpStorm.
* User: Administrator
* Date: 2019/2/16 0016
* Time: 下午 1:25
*/
defined('BASEPATH') OR exit('No direct script access allowed'); class Index extends CI_Controller
{
public function __construct()
{
parent::__construct();
$this->load->set_admin_view_dir();
} public function index()
{
$this->load->view("admin.html");
}
}

访问后台结果如下图所示:

六、解决默认控制器default_controller为目录/Controller名

打开system\core目录下的Router.php, 大概在298行

注释下段代码

// Is the method being specified?
if (sscanf($this->default_controller, '%[^/]/%s', $class, $method) !== 2)
{
$method = 'index';
}

新增以下代码

$index = strripos($this->default_controller, '/');  // 记录 符号‘/’的下标
if($index == false){
$class = $this->default_controller; // 没有‘/’ 的可以直接赋值
}else{
$this->directory = substr($this->default_controller, 0, $index + 1); //目录的字符串
$class = substr($this->default_controller, $index + 1); //类的字符串
}
$method = $this->method; //默认方法

如果是 '路径/类名' ,以上的配置就够了

最新文章

  1. 这些年学过的FPGA
  2. 木马轮播图代码Jq
  3. Hello, Android多屏幕版
  4. C# SQL增删查改
  5. Jeally Bean中MonekyRunner 帮助文件
  6. source code analyzer 功能强大的C/C++源代码分析软件 Celerity CRACK 破解版
  7. 图的深度优先遍历DFS
  8. 【收藏】十大Webserver漏洞扫描工具
  9. Kafka官方文档翻译——简介
  10. Android中相机和相冊使用分析
  11. python day one 变量,if
  12. Java对象序列化全面总结
  13. 数据仓库专题18-数据建模语言IDEF(转载)
  14. python学习笔记_week22
  15. centos 6.5 升级php到5.6.17版本
  16. opencv-python教程学习系列6-用滑动条做调色板
  17. Hadoop基础-HDFS数据清理过程之校验过程代码分析
  18. 支持iis高并发
  19. ubuntu 安装nfs 服务
  20. 浅析parseInt与parseFloat的区别

热门文章

  1. gn3 --iou
  2. 查看表空间使用率及shrink 表空间
  3. 学习node js 之微信公众帐号接口开发 准备工作
  4. [Vue-rx] Cache Remote Data Requests with RxJS and Vue.js
  5. Codeforces Round #316 (Div. 2) C. Replacement(线段树)
  6. pat-1087【最短路径】
  7. C# 获得资源文件下图片的路径
  8. 【SWUST626】分数分解
  9. 58. Extjs grid CheckboxSelectionModel 单选
  10. astgo 老版本免激活完整安装包带安装命令脚本