Php 在codeigniter HMVC体系结构的自定义身份验证库中使用回调函数
我正在使用codeigniter HMVC体系结构开发一个应用程序。我是HMVC的新手,刚刚开始探索它。最近,我开始在codeigniter中将我的代码从MVC转换成HMVC。我开发了一个自定义身份验证库,它位于我的应用程序/库文件夹中,其中包含注册和登录表单的身份验证规则。我在验证中编写了一些回调函数,当我选择HMVC框架时,这些函数突然停止工作。我找到了一些参考资料来解决这个问题,但都是徒劳的。我无法让我的代码正常工作。根据一个常见的建议,我建立了一个MY_Form_验证,如下所示:Php 在codeigniter HMVC体系结构的自定义身份验证库中使用回调函数,php,codeigniter,hmvc,Php,Codeigniter,Hmvc,我正在使用codeigniter HMVC体系结构开发一个应用程序。我是HMVC的新手,刚刚开始探索它。最近,我开始在codeigniter中将我的代码从MVC转换成HMVC。我开发了一个自定义身份验证库,它位于我的应用程序/库文件夹中,其中包含注册和登录表单的身份验证规则。我在验证中编写了一些回调函数,当我选择HMVC框架时,这些函数突然停止工作。我找到了一些参考资料来解决这个问题,但都是徒劳的。我无法让我的代码正常工作。根据一个常见的建议,我建立了一个MY_Form_验证,如下所示: cla
class MY_Form_validation extends CI_Form_validation
{
public $CI;
}
然后,在我的身份验证库中,我使用以下内容:
$this->CI = & get_instance();
$this->CI->load->library('form_validation');
$this->CI->form_validation->CI = $this->CI;
为了验证,我使用以下方法:
if($this->CI->form_validation->run($this->CI)==FALSE)
但不知何故,我的验证检查没有被执行。它曾经在我的MVC框架上工作。“$this->CI->form\u validation->CI=$this->CI;”为什么要做大量的交叉引用
这就是我的扩展表单验证库的工作原理
class MY_Form_validation extends CI_Form_validation {
public function valid_url($url) {
$pattern = '/^http(s)?:\/\/[a-z0-9]{1}[0-9a-zA-Z\-]*([\.a-zA-Z])+([a-zA-Z0-9\-\/\?=])*$/';
if (preg_match($pattern, $url)) {
return true;
} else {
$this->set_message('valid_url', "%s is not a valid url.");
return false;
}
}
}
然后您可以像使用表单验证库一样使用。请告诉我您收到的错误消息。我没有收到任何错误。你能告诉我你是怎么把事情弄清楚的吗?从步骤1开始。