如何在 HMVC Codeigniter 中获取模块名称

How to get Modules Name in HMVC Codeigniter

我在两个同名的模块中有几个控制器,都工作正常。我还有一个检查访问权限的功能,它使用 $this->router->fetch_class().
问题是 $this->router->fetch_class() returns 控制器名称,它是相同的。但我也需要模块名称。

模块结构

/modules
    /product
        /controllers
            /product.php
            /options.php [1]
        /models
        /views
    /inventory
        /controllers
            /inventory.php
            /options.php [2]
        /models
        /views

网址为:

[1]: ../product/options/function_name
[2]: ../inventory/options/function_name

那么有什么方法可以在不更改控制器名称的情况下检查访问权限吗?

喜欢@sintakonte said, you can use the uri library

使用segment你可以获得url的每个部分。

模块名称始终是您域之后的第一部分。

$module_name = $this->uri->segment(1);