1

メンバー ログイン システムを持つ CodeIgniter でアプリケーションを開発しています。要求されたメンバーのすべての情報を取得するモデルがあります。

class Member extends CI_Model {

var $info = array();
var $error = NULL;

function __construct(){

    parent::__construct();

}

public function get_info($member_id = ''){

    $this->db->where('member_id', $member_id);
    $this->db->limit(1);
    $query = $this->db->get('members');

    if($query->num_rows() > 0){

        $member = $query->row_array();

        $info = array(
            'id' => $member['member_id'],
            'display_name' => $member['display_name'],
            'email_address' => $member['email_address'],
            'password' => $member['password'],
            'status' => ($member['status'] == 0) ? FALSE : TRUE,
            'activation_code' => $member['activation_code'],
            'location' => $member['location'],
            'date_joined' => date('M jS, Y', $member['date_joined']),
            'gender' => ($member['gender'] == 0) ? 'Male' : 'Female',
            'results_per_page' => $member['results_per_page'],
            'admin_emails' => ($member['admin_emails'] == 0) ? FALSE : TRUE,
            'member_emails' => ($member['member_emails'] == 0) ? FALSE : TRUE
        );

        $this->info = $info;

    } else {

        $this->error = 'The member you requested could not be found in our database.';

    }

}

コントローラーと他のモデルの上部で、以下を使用して現在のユーザーの情報を取得し、それをすべてのメソッドに渡します。

function __construct(){

    parent::__construct();
    $this->member->get_info($this->session->userdata('member_id'));
    $this->user = $this->member->info;

}

function index(){

 if($this->user['id'] > 0){

      echo "You are logged in!";

 } else {

      echo "You are NOT logged in!";

 }

}

世界規模でこれを行う方法はありますか?すべてのコントローラーの上部に構成コードを入力するのは、ちょっと面倒です。

4

2 に答える 2