0

私はZendFrameworkを使用して小さなマーケティングプロジェクトに取り組んでいます。プロジェクトのバックオフィスは現在、キャンペーンコントローラーとミニサイトコントローラーの2つのコントローラーで構成されています。ユーザーはフォームを使用してキャンペーンを作成し、次にこのキャンペーンにリンクされた2番目のフォームを使用してミニサイトを作成する必要があるため、ミニサイトのデータを保存するときにキャンペーンとユーザーIDを取得する必要があります。

ベストプラクティスとその理由は何ですか?これらの変数をセッションオブジェクトに渡す必要がありますか?または、これらの変数を次のようなルートで渡す必要があります。

/backoffice/minisite/create/:userid/:campaign/

編集:キャンペーンの作成時にユーザーがログに記録され、認証されます

4

4 に答える 4

1

これを行うにはユーザーがログインする必要があると仮定すると、必要なユーザー情報をZend_AuthIDに保存できます。

そうでない場合は、ルートを使用して通常のセッション変数にデータを保存するZend_Sessionか、ルートを使用してリダイレクトすることができます。どちらのオプションも適切なので、自分とアプリケーションに最適なオプションを選択するのはあなた次第です。

于 2011-08-25T08:23:17.103 に答える
1

2つのコントローラー間のpassinf情報の場合、最良の方法は、セッションを使用して値をグローバルに格納することです。:-)

于 2011-08-29T09:48:31.057 に答える
0

あなたが提案するように、私はルートオプションを使用します。セッションの使用は、テスト、デバッグ、将来の拡張などが非常に困難になるでしょう。

于 2011-08-25T08:19:23.667 に答える
0

これらのことを行うには、ユーザーがアカウントを持っている必要があると確信しています。はいの場合、キャンペーンとミニサイトは何らかの方法でそれらに関連付けられます。これらのものを何らかの形式のデータベースに保存して取得します。

認証されたユーザーがなく、実際に2つの変数を別のアクションに渡す必要がある場合は、urlパラメーターを使用しますが、ユーザーがそれらを混乱させ、予期しないことが多く発生する可能性があることに注意してください。セッションへの保存は、そのように操作するのが困難です。

したがって、認証が含まれておらず、サイトが公開されている場合は、セッションを使用します。それ以外の場合は、どちらも使用せず、ストレージを使用します。

于 2011-08-25T10:19:31.013 に答える