Code Igniter の学習を始めたばかりです。
あるコントローラー (first_cont.php) から別のコントローラー (second_cont.php) に変数を渡す方法を知りたいですか?
助けていただければ幸いです。
前もって感謝します :)
Code Igniter の学習を始めたばかりです。
あるコントローラー (first_cont.php) から別のコントローラー (second_cont.php) に変数を渡す方法を知りたいですか?
助けていただければ幸いです。
前もって感謝します :)
状況によります。しばらくの間データを保持したい場合は、セッション データが適しています。ただし、一度だけ使用する必要がある場合は、フラッシュ データの方が適切な場合があります。
最初のステップは、セッション ライブラリを初期化することです。
$this->load->library('session');
次に、情報をフラッシュ データに保存します。
$this->session->set_flashdata('item', $myVar);
最後に、2 番目のコントローラーでデータをフェッチします。
$myVar = $this->session->flashdata('item');
明らかに、これは、2 番目のコントローラーからセッション ライブラリを再度初期化するか、セッション ライブラリをロードする独自のベース コントローラーを作成し、両方のコントローラーがそのコントローラーから継承する必要があることを意味します。
codeigniterでは、2つの異なるコントローラー間で変数を渡すことはできないと思います。明らかなメカニズムの1つは、セッションデータを使用することです。
わかりました、MVC について、ほとんどの人がすぐに引用できるものを次に示します。
コントローラーは入力を受け取るためのもので、モデルはロジックのためのものであり、ビューは表示するためのものです。
さて、厳密に言えば、コントローラーから別のコントローラーにデータを送信したくないはずです。それが必要なケースは考えられません。
ただし、絶対に必要な場合は、単純に使用redirect
して他のコントローラーにリダイレクトすることができます。
何かのようなもの:
// some first_cont.php code here
redirect('/second_cont/valuereciever/value1')
// some second_cont.php code here
public function valureciever($value){
echo $value; // will output value1
}
Codeigniter には、あるコントローラーから別のコントローラーに値を渡す方法がたくさんあります。
codeigniter セッションを使用して、あるコントローラーから別のコントローラーにデータを渡すことができます。
そのためには、最初にセッション用のライブラリを含める必要があります
$this->load->library('session');
次に、変数名を使用してフラッシュデータ値を設定できます。
// Set flash data
$this->session->set_flashdata('variable_name', 'Value');
codeigniter session flashdata を使用して、必要な場所で値を取得できます
// Get flash data
$this->session->flashdata('variable_name');
2 番目のオプション codeigniter を使用すると、コントローラー名、メソッド名、および値を使用して、controll から URL をリダイレクトし、別のコントローラーで値を取得できます。
// Passing the value
redirect('/another_controller_name/method_name/variable');
次に、別のコントローラーで値を取得できます
public function method_name($variable)
{
echo $variable;
}
そのすべて....