私は CodeIgniter を初めて使用し、いくつかのビューとモデルと対話するコントローラーを作成しました。
コントローラーが処理を完了したら (このコントローラーがログインと登録を処理するとします)、別のコントローラーにどのようにハンドオフしますか (ユーザーのインターフェイスなどを処理するため)?
私は CodeIgniter を初めて使用し、いくつかのビューとモデルと対話するコントローラーを作成しました。
コントローラーが処理を完了したら (このコントローラーがログインと登録を処理するとします)、別のコントローラーにどのようにハンドオフしますか (ユーザーのインターフェイスなどを処理するため)?
どうやらやり方が間違っていたようです。次のようなエラーが発生していました。
ヘッダー情報を変更できません - ヘッダーは既に送信されています ([パス] で開始された出力
など。私は間違った順序で物事を行っていました。
私の解決策は、コードとユーザーのリダイレクト()を修正することでした。
コントローラを含むファイルを含めてから、コントローラの新しいインスタンスを作成できます。
<?php
require_once("path/to/other_controller.php");
class MainController extends CI_Controller {
public function index() {
// Logic here...
$other_controller = new OtherController();
$other_controller->moreLogic();
}
}
?>
しかし、複数のコントローラーを使用する必要がある場合は、何か問題があります。それぞれが適切なロジックを処理する複数のモデルを使用する必要があります(別々のファイルでも!)。とにかく、ユーザーインターフェイスはビューで処理する必要があります。これは、ロジックをビューで実行する必要があることを意味します。