嗨,朋友们可以解释一下,在使用PHP的codeIgniter中使用 _remap 函数有什么用,请注明示例和描述...
答案 0 :(得分:5)
见http://ellislab.com/codeigniter%20/user-guide/general/controllers.html
重新映射函数调用
如果您的控制器包含名为_remap()的函数,则无论您的URI包含什么,它都将始终被调用。它覆盖了URI确定调用哪个函数的正常行为,允许您定义自己的函数路由规则。
例如:
您的网址为localhost/index.php/user/index
,但您不想为此index
致电,那么您可以使用_remap()
来映射新功能view
而不是index
public function _remap($method)
{
if ($method == 'index')
{
$this->view();
}
else
{
$this->default_method();
}
}
答案 1 :(得分:0)
在这段简短的代码中,我们必须在url中传递索引以显示我们回显的内容。但是在函数本身内部带有_remap()。我们应该传递索引而不是索引。假设您有很多功能,而您只是将其命名为public function codeig(){},那么将codeig传递到url中就不好意思了,对吗?因此,您将使用_remap并将codeig设置为hello或任何(您想要的函数名称),现在可以将hello或命名为函数的名称传递给url。
class Tuts extends CI_Controller{
public function index($name = 'john',$age=18){
echo "Your name is $name, you are $age years old";
}
public function _remap($method){
if ($method === 'indexs') { //you should have to type indexs in uri instead of index
$this->index();
}else{
$this->default_method();
}
}