2

認証チェック(ユーザーがログインしているかどうかを確認し、ユーザー名を確認する)や優先順位など、コントローラーが呼び出されるたびに実行される少しのコードを用意して、ページの URL を記録し、できるようにすると非常に便利です。次のページの読み込み時に前のページをエコーアウトします。

コントローラーが呼び出されるたびに、このようなことを実行するにはどうすればよいでしょうか?

function page_load(){
    $this->session->set_flashdata('prev_page', $this->uri->uri_string());
    if($this->tank_auth->is_logged_in()){
        $username = $this->tank_auth->get_username;
    } else {
        $username = 'Guest';
    }
}
4

2 に答える 2

4

これを行うには、Controller クラスを拡張します。

<?php
class MY_Controller extends CI_Controller {

   public function __construct()
   {
        parent::__construct();
        // Your own constructor code
        // Do any code you want run every time a controller loads
   }
}
?>

次に、CI_Controller を拡張したコントローラーで、代わりに My_Controller を拡張します。

class Welcome extends MY_Controller {

  function __construct()
  {
    parent::__construct();
  }

  function index()
  {
    $this->load->view('welcome_message');
  }
}

こちらのドキュメントを参照してください

于 2013-07-16T11:32:46.790 に答える