berowe 发表于 2015-11-8 18:25:39

获取当前控制器所在子目录路径的扩展

本帖最后由 berowe 于 2015-11-8 18:29 编辑

今天做权限控制的时候,由于项目使用了控制器子目录,需要用到所在子目录的路径。

官方手册没有找到相关的方法,就自己顺手写了一个扩展方法,如果框架本身有这个功能,还希望各位大神告知。

还有就是,扩展核心框架有没有办法使用helper函数呢????我尝试导入helper但是失败了。

该方法会返回控制器之前的路径,如:Admin/Home/index,Admin/Test/Abc/index
分别返回:Admin和Admin/Test


<?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;
      }
    }
}


页: [1]
查看完整版本: 获取当前控制器所在子目录路径的扩展