CI在另一个控制器中借用其他控制器的功能

时间:2009-07-28 00:08:19

标签: codeigniter controller

我的前端有一个控制器,我正在使用DX Auth lib。

我想使用DX Auth的注册,但是将它包含在我的首页控制器中...我可以简单地复制粘贴该功能,但是有更好的方法吗?

1 个答案:

答案 0 :(得分:1)

您是否尝试在首页控制器中登录并注册用户?您需要根据installation instructions安装DX Auth,并参考手册中的一些示例和功能参考。

您需要在构造函数中加载DX Auth库:

class Auth extends Controller  
{  
    function Auth()  
    {  
        parent::Controller();  
        // Load library  
        $this->load->library('DX_Auth');
        $this->load->library('Form_validation');
    }

    // implement other login functions like the examples
    // using the library:

    function login()  
    {
        if (!$this->dx_auth->is_logged_in()) { 
            $is_valid = $this->form_validation->run('login');
            $username = $this->input->post('username');
            $password = $this->input->post('password');

            if ($is_valid && $this->dx_auth->login($username, $password)) {
                // redirect somewhere
            } else {
                // show some errors
            }
        }
    }

    // other authentication functions
}

如果您愿意,您可以帮助保存您的身份验证功能,以便您可以从任何控制器访问它们。按照安装说明进行数据库设置以及某种基本的用户注册和登录工作 - 它们相当全面。