我能够在我的网站上实现 Tank Auth 库,但是当我将库的自动加载从 Auth 控制器移动到 codeignitier 自动加载库时出现问题。
正如您在下面看到的,我已经注释掉了 tank Auth 库的自动加载,如果我在这里加载它,那么一切正常。
class Auth extends MY_Controller
{
function __construct()
{
parent::__construct();
$this->load->helper(array('form', 'url'));
//$this->load->library('form_validation');
$this->load->library('security');
// $this->load->library('tank_auth');
$this->lang->load('tank_auth');
}
这就是现在我将它加载到 codeignitier 中,你可以看到非常直截了当
$autoload['libraries'] = array('form_validation','email','upload','tank_auth');
这是我定义的控制器
MY_Controller 类扩展 CI_Controller {
public $layout;
public function __construct()
{
//this sets where the header and footer file is loacated
parent::__construct();
$this->layout = 'layout/master';
}
}
自动加载时出现的错误是 The model name you are loading is the name of a resource that has been used: users. 显然,它看起来像是在尝试创建对象两次。
为什么在 Auth 库之前自动加载会导致这个问题,当它在 Auth 控制器中自动加载时,也许我错过了对 codignitier 的一些重要理解。
谢谢