多くの関数を持つコントローラーがあります。使用しようとすると未定義の変数例外が発生するため、 welcome ビューをロードすると、get_participants 関数が実行されないことに気付きます。<?php echo $product ?>
ウェルカム ビューをロードするインデックス関数にすべてを含めるのではなく、1 つのビューを作成する多くの関数を含めたいと考えています。このコントローラーを呼び出して、クラス内のすべての関数を実行する適切な方法は何ですか?または、これを行うべきより良い方法はありますか?
class Welcome extends CI_Controller
{
function __construct()
{
parent::__construct();
$this->load->helper('url');
$this->load->library('tank_auth_groups','','tank_auth');
$this->load->model('Participant_model');
}
function index()
{
if (!$this->tank_auth->is_logged_in()) {
redirect('/auth/login/');
} else {
$data['user_id'] = $this->tank_auth->get_user_id();
$data['username'] = $this->tank_auth->get_username();
$this->load->view('welcome', $data);
}
}
public function get_participants()
{
$data['product'] = $this->Participant_model->get_all_records();
$this->load->view('welcome', $data);
}
}
意見
Hi, <strong>
<?php echo $username; ?></strong>! You are logged in now.
<?php echo anchor('/auth/logout/', 'Logout'); ?>
<?php echo $product; ?>