1

ユーザーが写真をアップロードしてタイトルを付けることができる単純な Web サイトがあります。

アップロード フォームは、JavaScript を使用しない場合と JavaScript を使用する場合 (XHR を使用したレイヤー上のフォームとして) で機能する必要があります。

私は持っています:

  • Form_Upload
  • Model_Post (ゲートウェイ/マッパーを使用)
  • UploadController
  • SuperDuper - ファイルのアップロード、サムネイルの生成、画像の保存などを処理するクラス/リソース。

UploadController::uploadAction で行う必要があると思うことは次のとおりです。

  1. 新しいフォームを作成
  2. POST リクエストか GET リクエストかを確認する
  3. XHR リクエストか通常のリクエストかを確認する
  4. フォームの確認
  5. フォームからファイルをダウンロード/受信
  6. ファイルの MIME タイプを検証する
  7. SuperDuper を使用してファイルを変換し、添付ファイル ID を返す
  8. 問題がなければ、投稿データを添付ファイル ID とともにデータベースに保存します
  9. 適切なコンテキストで応答を返す
  10. 適切なコンテキストでエラー メッセージ/フォーム エラーを返す

そして、1 つのアクションで多くのことを行うように思えます。

また、このアクションはさまざまなコンテキスト (GET、XHR POST、POST) を処理する必要があるため、多くの「if」があります。

そのようなケースを処理するための良いZendの方法はありますか(そして、それはかなり人気のある方法だと思います)。リクエストの一部、またはコンテキストに応じたリクエストを処理するために、コントローラに追加のプライベート関数を作成する必要がありますか?

私のアクションは現在 140 行の長さで、間違っているようです。

4

1 に答える 1

0

私の意見では、Zend_Form を使用するフォーム クラスにコードの一部を指定する必要があります。このクラスでは、ポイント 1,4,5,6 が必要です。そして、10 の方が flashmassanger で表示する必要があります。残りの yur ポイントは実行中である必要があるため、form も実行する必要があります。

于 2012-05-30T07:51:51.327 に答える