2010-11-23 6 views
1

を使用するとき、私はCodeignterで遊んとアプリケーションの構造について興味があったのです:モデルやヘルパー

  1. 私がモデルを使用したときに確認していない(どうやらそれはハード要件をイマイチ)

  2. 私は動的なヘッダーの一部を持っているので、コードの清潔さと明快さのために条件文(if() {..} else {..})を実行します。私はその部分をヘルパーに変えて代わりに参照すべきですか?それとも、あまりにもストレッチのように聞こえるのですか?

答えて

3

モデルは、データ収集とフォーマット方法に最適です。ブログ投稿のデータベースをポーリングし、ポストオブジェクトを作成して返すなど。

コントローラは、これらを使用して、タイトル、日付、作成者、および短縮されたボディサマリーなど、必要なデータを表示に埋め込みます。

ヘッダー部分までは、メニューのハイライトスイッチやifsなどの複雑なコードをカプセル化するために、より小さなビューを作成して、よりクリアなコードから離れた場所に配置することを検討してください。これらのビューをオーバービルドすることを検討してください。メニューの1つのタブだけのビューを作成し、別のビューのメニュー項目ごとに異なるデータで10回呼び出すことは間違いありません。

メニューでは馬鹿げているように見えますが、ウィジェットをウィジェットで囲むなどの用途や、テキストエリアビューでの組み込み検証では不可欠です。

+0

説明:コントローラは、ビューの塗りつぶしとリクエストのモデル変更と追加ビューへの変換の両方を行います。 –

+0

はい。あなたはコントローラーをWeb上のルーティングと考えることができます。それらは、プロセスの異なるスレッドにどのように到達するのか、それらのスレッドがどのように行動するのかを定義します。モデルはすべてのビジネス作業とデータ収集を行い、ビューはすべてのGUIを実行する必要があります。 JavascriptとAjaxはMVCを泥まみにし、トレースするのが難しいので注意してください。 – DampeS8N

+0

私が気にしていることは、ヘッダーのログインステータスです。それはヘッダービューに埋め込まれている別のビューですか?ヘッダーにあるようにコードを残すだけで、そのような "きちんとした"フリークを心配する必要はありませんか?ありがとうございます – salmane

1

私は(どうやらそれはハード要件をイマイチ)モデルを使用したときに確認していない

モデルMVC構造の一部です。あなたはそれについて読むことをお勧めします。

私は動的であるヘッダーの部分を持っていますが、コードの清潔さと明快さのために条件付きステートメント(if(){else else {..})を実行して、その部分をヘルパー?代わりにそれを参照してください?それとも、あまりにもストレッチのように聞こえるのですか?

この記事では、CodeIgniterのHelpersの使用方法について説明します。

0

データベース(または別のデータソース)にデータを読み書きする場合は、モデルを使用する必要があります。

再利用可能なタスクを手助けするためにヘルパーを使用する必要があります。たとえば、認証ヘルパーやフォームヘルパーなどがある場合があります。imgタグで使用できるランダムなヘッダーイメージURLを返すようにヘルパーを拡張できるとは思っていましたが、私がCodeIgniterで作業して以来、しばらく経っています。

関連する問題