在 codeigniter 中不在对象上下文中时使用 $this

In codeigniter Using $this when not in object context

<?php
 class Token {
 private $CI;

 function __construct($param) {
   $this->CI =& get_instance();
   if($param['flag'] == 1) {
     $this->retrieveToken();
     $this->validateToken();
   }
}

public static function getAuthUserToken($empID) {
   $class = $this->CI->db->query('select * from tbl_emp where emp_id ='.$empID);
   $class = $class->result_array();
   print_r($class);
  }
}
?>

我正在 codeigniter 中创建自定义库但是,当我尝试使用 database.I 执行任何操作时,出现了上述错误消息

我还在 autoload.php 文件中加载了数据库

$autoload['libraries'] = array('database');

是您的静态方法 getAuthUserToken($empID) 导致了错误。

正如 PHP 文档中关于关键字 Static

的说明

Because static methods are callable without an instance of the object created, the pseudo-variable $this is not available inside the method declared as static.