gpt4 book ai didi

php - 如何在 CodeIgniter 的库中使用 session ?

转载 作者:可可西里 更新时间:2023-10-31 22:18:54 25 4
gpt4 key购买 nike

我想通过在 Controller 的构造函数中使用我的库来检查用户是否登录到 CodeIgniter。

这是我的图书馆:

class Administrator_libs {

public function validate_authen(){
if( $this->session->userdata('user_authen') ){
redirect(base_url().'admin/login/');
}
}
}

这是我的 Controller :

class Administrator extends CI_Controller {

public function __construct(){
parent::__construct();
$this->load->library('administrator_libs');
$this->administrator_libs->validate_authen();
$this->load->model('mod_menu');
}
}

但我收到此错误消息:

Undefined property: Administrator_libs::$session

如何在 CodeIgniter 的库中使用 session ?

最佳答案

如果您想访问您自己的任何 CodeIgniter 库,您必须调用 get_instance()。这是因为 $this 绑定(bind)到您当前的库而不是 CodeIgniter 对象。

$CI =& get_instance();
if( $CI->session->userdata('user_authen') ){
redirect(base_url().'admin/login/');
}

请参阅Creating Libraries CodeIgniter 文档。特别是 Utilizing CodeIgniter Resources within Your Library

下的内容

假设你在 config/autoload.php 中自动加载 session 库,如果没有,你还需要添加 $CI->load->library("session") ; $CI 实例化之后。

重要提示 =& 不是拼写错误。它通过引用传递以节省内存。

关于php - 如何在 CodeIgniter 的库中使用 session ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12344653/

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