私は CodeIgniter の初心者であり、MVC イデオロギーを最もきれいに使用する方法を完全に把握するのにまだ苦労しています。
私は、エントリに投票したり、人々をフォローしたりする機能を備えた基本的な CMS システムを作成しています。
- 投票パネル
- フォロー/フォロー解除パネル
- ログイン/ログアウトパネル
- ユーザーがログインしているかどうかを確認するコードなど...
統一できるように、このコードをどこに置くべきか疑問に思っていますか? ヘルパーが行く方法だと思いますか?コントローラーでヘルパーを宣言すると、対応するビューから呼び出すことができますよね?
一部の要素は動的です (フォロー/フォロー解除ボタンなど)。既にユーザーをフォローしているかどうかを確認し、適切なボタンを表示する必要があります。これには、モデルを確認する必要があります。私が今持っているのは、すべてのロジックがコントローラーにあり、適切なボタンを返すということですが、コントローラーのリターンでも形成されたhtmlコードを返すのは奇妙に思えます。もっと似ているはずです:
- コントローラーは、あなたが誰かをフォローしているかどうかをチェックします
- コントローラーはブール値をビューに渡します
- ビューはこの値でヘルパーを呼び出し、適切なボタンを描画します
また、二次的な質問として、ビューから返された mysql の結果を処理するために、foreach ループで mysql 配列をかなりループしてきました。私のビューはやや複雑になっているようですが、別のヘルパーでも行う必要があるかもしれませんが、別の方法は考えられませんか?
これがナイーブまたは繰り返しの質問である場合はお詫びします。この件に関しては確かに多くの議論がありますが、別のプロジェクトに簡単に関連付けられるとは限りません。