有没有更好的方法来管理CodeIgniter中的activeComponent会话数据?

时间:2014-05-10 10:38:50

标签: php codeigniter session codeigniter-2

我想知道是否有更好的方法来管理activeComponent的会话用户数据。 activeComponent 是我正在处理的当前活动组件(插件)的ID。

我有以下用(id)指定的组件:Content(1),Users(2),AccessLvl(3),Ecommerce(4)。

类别管理页面上,我正在检查$this->activeComponent的ID,因此我自动加载属于此组件的类别项目。

所有控制器都在扩展BaseControllerclass BaseController extends CI_Controller。在那个basecontroller里面我正在检查会话数据,哪个工作正常,但我不确定它是否正常,或者是否有更好的方法来做到这一点?

这是我的app/core/MY_Controller.php

class BaseController extends CI_Controller{

    /**
     * Active component handler. 0 means nothing active
     */
    protected $activeComponent = 0;

    public function __construct(){

        parent::__construct();


        // Check for session "activeComponent" data existance
        if( $this->session->userdata('activeComponent') !== FALSE ){
            // Assign a selected component from the session to the global var
            $this->activeComponent = $this->session->userdata('activeComponent');
        }else{
            $this->session->set_userdata('activeComponent', $this->activeComponent);
        }

    }



}

0 个答案:

没有答案