如何将数据从控制器传递到codeigniter3中的自定义钩子

时间:2018-07-12 11:54:05

标签: php codeigniter codeigniter-3 hmvc

我的应用程序中有一个hooks类,我想在其中从控制器发送会话数据。但我在传递数据时遇到问题。我不知道是否可以将数据从控制器发送到挂钩。

下面是代码下面的一个hooks类的示例

function switchUser()
{
    $CI = &get_instance();    
    $user_id=$CI->uid;

    if ($user_id == 'client') {
       echo "hello";
    }   
}

这是我的控制器

class Client_Controller extends MX_Controller
{
    public $uid;
    function __construct($dbase=array())
    {
        parent::__construct();

        $this->uid=$this->session->userdata("uid");
    }
}

在hooks.php文件中,我有以下代码

$hook['pre_controller'] = array(
    'function' => 'switchDatabase',
    'filename' => 'switchDatabase.php',
    'filepath' => 'hooks'
);

请帮助我解决此问题。

1 个答案:

答案 0 :(得分:1)

希望这对您有帮助:

在您的switchUser方法中

使用此

$CI->session->userdata("uid") 

代替此

$CI->uid 

整个代码应如下所示:

function switchUser()
{
    $CI = &get_instance();    
    $user_id = $CI->session->userdata("uid") 

    if ($user_id == 'client') {
       echo "hello";
    }   
}

更多信息:https://www.codeigniter.com/user_guide/general/hooks.html