Php 如何在HMVC Codeigniter中获取模块名称
我有两个相同名称的模块中的控制器,两个都可以正常工作。我还有一个检查访问权限的函数,它使用Php 如何在HMVC Codeigniter中获取模块名称,php,codeigniter,hmvc,Php,Codeigniter,Hmvc,我有两个相同名称的模块中的控制器,两个都可以正常工作。我还有一个检查访问权限的函数,它使用$this->router->fetch_class()问题是$this->router->fetch_class()返回控制器名称,它是相同的。但我也需要你的名字 模块的结构 /modules /product /controllers /product.php /options.php [1] /models
$this->router->fetch_class()
问题是
$this->router->fetch_class()
返回控制器名称,它是相同的。但我也需要你的名字
模块的结构
/modules
/product
/controllers
/product.php
/options.php [1]
/models
/views
/inventory
/controllers
/inventory.php
/options.php [2]
/models
/views
和URL是:
[1]: ../product/options/function_name
[2]: ../inventory/options/function_name
那么,有没有办法在不更改控制器名称的情况下检查访问权限?如前所述,您可以使用
使用segment
可以获取url的每个部分
模块名称始终是域后的第一部分
$module\u name=$this->uri->segment(1);
如果需要更改url,请使用此处的路由文件。我不完全理解您的评论,但我认为路由不是问题,因为控制器工作正常。请看@-这应该为您提供足够的信息。顺便说一句:由于CI不支持正确的名称空间,因此无法在项目中两次使用相同的类名,因为您可以在冲突中轻松运行—特别是如果您使用HMVC—因为您可以使用modules::run()