我有这些URL:
如何从这些URL中获取控制器名称、操作名称。我是CodeIgniter菜鸟。是否有任何帮助函数来获取此信息
例如:
$params = helper_function( current_url() )
其中$params
变成了类似于
array (
'controller' => 'system/settings',
'action' => 'edit',
'...'=>'...'
)
发布于 2010-01-14 12:22:37
您可以使用URI Class
$this->uri->segment(n); // n=1 for controller, n=2 for method, etc
我还被告知以下工作,但目前无法测试:
$this->router->fetch_class();
$this->router->fetch_method();
发布于 2010-01-15 19:44:57
您应该这样做,而不是使用URI段:
$this->router->fetch_class(); // class = controller
$this->router->fetch_method();
这样你就知道你总是在使用正确的值,即使你在一个路由的URL后面,在一个子域中,等等。
发布于 2016-01-05 20:10:14
这些方法已弃用。
$this->router->fetch_class();
$this->router->fetch_method();
您可以改为访问属性。
$this->router->class;
$this->router->method;
URI路由方法fetch_directory()、fetch_class()、fetch_method()
由于属性CI_Router::$directory
、CI_Router::$class
和CI_Router::$method
是公共的,并且它们各自的fetch_*()
不再只返回属性-保留它们是没有意义的。
这些都是内部的、没有文档记录的方法,但是为了保持向后兼容性以防万一,我们选择暂时弃用它们。如果您中的一些人已经使用了它们,那么您现在可以只访问这些属性:
$this->路由器->目录;$this->路由器->类;$this->路由器->方法;
https://stackoverflow.com/questions/2062086
复制相似问题