※Userモデルをautoloadしてる前提
※クラスとプロパティへのアクセスサンプルが理解につながれば、っていうヒトコト


post_controller_constructorでAuthクラスのgetUserメソッドをフックする。


class Welcome extends MY_Controller {} が実行されるとき

CI_Controller -> MY_Controller -> Auth -> Welcome

class MY_Controller extends CI_Controller {
    public static $user_id = 0;
    public static $user = array();
    public $nickname = '';
    public function __construct(){
        parent::__construct();
        self::$user_id = (int)$this->input->post('user_id');
    }
}

class Auth {
    public function getUser(){
        $CI =& get_instance();
        $CI::$user = $CI->User->getUserById($CI::$user_id);
        $CI->nickname = $CI::$user['nickname'];
    }
}

class Welcome extends MY_Controller {
    public function index(){
        log_message('info', self::$user_id);
        log_message('info', var_export(self::$user, true));
        log_message('info', $this->nickname);
    }
}