3

Codeigniter を使用して、かなり大きなプロジェクト (特に n00b) を具体化しています。私が抱えている問題の 1 つは、ファイルとメソッドを整理する方法です。プロジェクトを機能に分割しました。このアプリはタスク管理ソフトウェアであるため、「タスク」、「プロジェクト」、「ユーザー」などの基本的な機能は既にあります。

私がこれを行う方法は、それぞれにコントローラーを作成し、それぞれで CRUD 方法論に従うことです。したがって、たとえば Task では、次のメソッドがあります。

create()
read()
update()
delete()

これは私の頭では理にかなっています。ビューに関しては、複数のビューを使用する必要がありますか?それとも、作成と更新を同じフォームに結合する必要がありますか? また、Cookie の設定など、View 以外の機能はどこに行きますか?

これは非常に具体的な質問ですが、CodeIgniter プロジェクトの一般的な構造規則に関する全体的なガイドがあれば、私は非常に感謝しています。

4

3 に答える 3

2

私はあなたがそれを正しく理解したと思います。これが私がすることです。

私は作成と更新に同じビューを使用する傾向があり、可能であれば DRY に保ちます (同じことを繰り返さないでください)。

ビジネス関連の処理を行わない非ビュー関連のものは、私がヘルパー クラスと呼んでいるものに入ります。ビジネス関連の場合は、すべてのロジックをサービスに入れるので、フレームワークに依存せずに単体テストを実行できます (あなたがこれにどれほど慣れているかはわかりませんが、まあ :) )。

于 2013-09-04T13:34:17.597 に答える
0

私のコントローラーは、REST API ガイドラインに従うこれらのメソッドで構成されています。

  • 読み取り-> すべてのレコードを取得します。
  • 検索-> 主キー/ID でレコードを検索します。
  • 作成-> フォーム ビューを表示します。
  • ストア-> フォームからデータベースにデータを挿入します。
  • 編集-> 現在のレコードのデータが入力されたフォーム ビューを表示します。
  • 更新-> フォームからデータベースへのデータを更新します。
  • 削除-> データベースからデータを削除します。

これは、リソースフル コントローラーと呼ばれます。

はい、同じフォームで作成と編集を組み合わせることができます。ただし、別の作成フォームと編集フォームを使用する必要がある場合があります。その場合は、2 つの別々のフォームを作成するだけです。

そして... @Theodoreが提案したように、カスタマイズがあまり必要ない場合は、GroceryCRUDを試してみる価値があります。

于 2013-09-04T15:06:33.050 に答える