0

だから私はファイル構造の問題で立ち往生しているので、私は物事を繰り返さないための最良の方法を見つけようとしています。追加の各セクション(音楽、映画、ショーなど)で機能を共有しようとしています。いいね、おすすめ、タグ、リストなどの機能。コードの繰り返しを最小限に抑え、各セクションの機能に簡単に安全にアクセスできるように、構造化する方法についてのアドバイスを探しています。詳細は以下の通りです。また、私はFuel PHPフレームワークを使用しています:http://fuelphp.com/

リストがあります:音楽、映画、ショー。(http://domain.com/music/view/1)各リストはタグをサポートしています:(http://domain.com/music/tag/view/rock)

これまでのところ、これは簡単ですが、「いいね」や「推奨事項」などの機能は、各リストのコントローラーに「いいね」が含まれている可能性があるため、混乱します。例(http://domain.com/music/like/1)または独自のコントローラー(http://domain.com/like/music/1)。

また、各リストには「推奨事項」があり、同様のリストとレビュー、および各推奨事項の「いいね」がリストされています。したがって、「いいね」はリストと推奨事項に使用できます。

音楽(Model_Music)[1対1のModel_List]

-いいね

-タグ(多対多)

-推奨事項(UNIONによる相互参照)

-リスト(この場合はすべてのトラックと曲名)[1対多]

ショー(Model_Shows)[1対1のModel_List]

-いいね

-タグ(多対多)

-推奨事項(UNIONによる相互参照)

-リスト(この場合はすべてのエピソードの名前と番号)[1対多]

お分かりのように、ほとんどの場合、URL構造が異なり、使用するテーブルにいくつかの変更が加えられただけで、同じコードになります。物事を最適に処理する方法がわからないので、追加される他のすべてのリストmusic.php、shows.php、movies.phpにこれらすべての追加機能を処理するためのより経験豊富なビューが必要です。

4

1 に答える 1

1

すべての特定のリストを作成するためのベースコントローラーを作成することをお勧めします。

したがって、コントローラーディレクトリにlistingsフォルダーを作成し、listingsディレクトリ内listings.phpのすべてのコントローラーのベースとしても作成します。

すべてのリストコントローラーでベースコントローラーを拡張するだけで、ベースコントローラーにある機能はすべて継承されます。

燃料でベースコントローラーを構成する方法の詳細。

于 2011-05-13T13:20:38.953 に答える