|
本帖最后由 berowe 于 2015-11-8 18:29 编辑
今天做权限控制的时候,由于项目使用了控制器子目录,需要用到所在子目录的路径。
官方手册没有找到相关的方法,就自己顺手写了一个扩展方法,如果框架本身有这个功能,还希望各位大神告知。
还有就是,扩展核心框架有没有办法使用helper函数呢????我尝试导入helper但是失败了。
该方法会返回控制器之前的路径,如:Admin/Home/index,Admin/Test/Abc/index
分别返回:Admin和Admin/Test
PHP复制代码
<?php
defined('BASEPATH') OR exit('No direct script access allowed');
class MY_Router extends CI_Router {
//尝试获取子目录
public function getSubDir () {
$string = $this->class . '/' . $this->method;
$res_uri = $_SERVER['REQUEST_URI'] . '/' . $this->class . '/' . $this->method . '/';
$diff = array_filter(array_diff(explode('/', $res_uri),explode('/', $string)));
$subdir = implode('/', $diff);
if (empty($subdir)) {
return false;
} else {
return $subdir;
}
}
}
复制代码
|
|