如何将数据从控制器传递到 codeigniter 3 中的自定义挂钩

how to pass data from controller to custom hooks in codeigniter3

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

这里有一个钩子的例子class下面是代码

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'
);

请帮我解决这个问题。

希望对您有所帮助:

在您的 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