gpt4 book ai didi

codeigniter - Codeigniter 中函数 __construct() 内部的变量

转载 作者:行者123 更新时间:2023-12-04 18:21:06 24 4
gpt4 key购买 nike

我在 codeigniter 中使用 Tank_auth 进行用户身份验证。要检查任何用户是否登录,如果他要获取用户名和 id,我需要在 Controller 的每个功能中使用以下代码,这非常烦人。

 // If any user is logged in get his/her userid or name
if ($this->tank_auth->is_logged_in()) {

$data['user_id'] = $this->tank_auth->get_user_id();
$data['username'] = $this->tank_auth->get_username();
}

所以,我想知道是否可以通过将以下代码放入 function __construct() 中来让生活更轻松。喜欢以下,
但它不工作。

你能告诉我如何让它工作吗?

提前致谢 :)
     function __construct()
{
parent::__construct();

$this->load->helper('url');
$this->load->library('tank_auth');


if ($this->tank_auth->is_logged_in()) {

$data['user_id'] = $this->tank_auth->get_user_id();
$data['username'] = $this->tank_auth->get_username();
}
}

最佳答案

如果你打算只在这个 Controller 内部使用这个数组,你可以像这样使用它:

//outside the functions define the $data as controller class property:

private $data = array();

function __construct()
{
parent::__construct();

$this->load->helper('url');
$this->load->library('tank_auth');


if ($this->tank_auth->is_logged_in()) {
$this->data['user_id'] = $this->tank_auth->get_user_id();
$this->data['username'] = $this->tank_auth->get_username();
}
}

//and then use it like

function index(){
$this->load->view("something.php",$this->data);
}

关于codeigniter - Codeigniter 中函数 __construct() 内部的变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10672444/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com