0

アプリケーションの構造に関するアドバイス \ 改善を探しています

ユーザーがログインすると、ウェルカム メッセージとオプションのメニューが表示されます。各オプションは同じコントローラー (例: OptionController) を指していますが、アクションは異なります。

/オプション/abc
/オプション/定義

OptionController.php
{
abcAction()
defAction()
}

アクションが異なる理由は、オプションごとに異なるフォームが必要になるためです

フォームがレンダリングされ、ユーザーが入力を入力すると、オプションごとに異なるアクションでリクエストが検証コントローラーに再度送信されます。基本的なフォーム検証 + カスタム ビジネス ロジックが必要

私はそれを「機能」させていますが、それが良い方法だとは思いません。考え?

4

1 に答える 1

2

タスクのアート(表示、検証)ではなく、あなたの言葉で言えば「オプション」を要約する構造をお勧めします

例えば ​​(:

controller: abcController
actions:    addAction()
            editAction()
            listAction()
            viewAction()
            deleteAction()


controller: defController
actions:    addAction()
            editAction()
            listAction()
            viewAction()
            deleteAction()

フォームの構成 (検証を含む) は、独自のフォルダーに格納されている Zend_Form から拡張された独自のクラスにある必要があります。例: APPLICATION_PATH.'/forms'. (ZF - オートローダを参照) フォームの表示と検証は同じアクションに存在できます。私は通常、それらを追加と編集に分割します。(ただし、両方に同じフォーム クラスを使用)

すべてのコントローラーで必要なタスクは、アクションまたはビュー ヘルパーとして実装するのが最適です。

于 2009-08-14T11:25:51.243 に答える