Php 在一个变量中声明类的codeigniter

Php 在一个变量中声明类的codeigniter,php,codeigniter,Php,Codeigniter,我尝试使用$admin->function()而不是$this->admin\u model->function() 当我试图声明一个变量时$admin=newadmin\u模型并在它给出错误的其他函数中使用它。。 下面给出了我的代码,我不太了解OOP的概念,请有人帮忙 class Admin extends CI_Controller { var $admin; function __construct() { parent::__construct();

我尝试使用
$admin->function()
而不是
$this->admin\u model->function()
当我试图声明一个
变量时
$admin=newadmin\u模型构造函数中使用code>并在它给出错误的其他函数中使用它。。
下面给出了我的代码,我不太了解
OOP
的概念,请有人帮忙

class Admin extends CI_Controller {
    var $admin;
    function __construct() {
        parent::__construct();
        $this->load->model('admin_model');
        $admin=new Admin_model;
    }
    public function index($value='')
    {
        if(!$admin->is_admin_logged_in()){
            redirect('admin/login?r='.urlencode(current_url()));
        }
        $data['loggedin']=TRUE;
        $data['account']=$this->session->all_userdata();
        $this->load->view('pages/admin-home',isset($data)?$data:NULL);

    }
}
目前我正在使用这种方法

public function login()//此函数属于上述同一控制器
{
$r=isset($\u-GET['r'])?urldecode($\u-GET['r']):'admin';
$admin=新的admin_模型;
如果($admin->is\u admin\u logged\u in())重定向($r);
}


我不想声明
$admin=newadmin\u模型
在每一个函数中,并且希望使代码看起来良好和干净,因此也不喜欢使用
$this->admin
$this->admin\u model

您试图给一个模型赋予别名(如我所见)

你所要做的就是:

class Admin extends CI_Controller {

    function __construct() {
        parent::__construct();
        $this->load->model('admin_model', 'admin');
    }
    public function index($value='')
    {
        if(!$this->admin->is_admin_logged_in()){
            redirect('admin/login?r='.urlencode(current_url()));
        }
        $data['loggedin']=TRUE;
        $data['account']=$this->session->all_userdata();
        $this->load->view('pages/admin-home',isset($data)?$data:NULL);

    }
}
请注意,模型的别名是在哪里给出的

$this->load->model('admin_model', 'admin');
它是如何使用的

if(!$this->admin->is_admin_logged_in()){

你不明白我想说什么,因为我的问题令人困惑,我已经更新了问题,请看一看。我理解了,但正如前面提到的,我不想使用
$this
。请再次检查这个问题…它总是使用这个,因为它表示变量属于类。关于您想要什么,我理解的是您想要创建模型的别名,这样无论何时更改模型名称,您都不需要通过所有代码来更改$this->admin\u model->function()。我为您提供的代码“创建给定模型的别名,该别名可以在整个控制器中使用。因此,您需要做的不是$this->admin\u model->function(),而是$this->alias->function(),是的,它应该始终包含$this。