render
ViewRenderer による自動レンダリングが無効だと、アクションの中で呼ぶとビューが表示されます。
ViewRenderer による自動レンダリングが有効だと、自動的で表示されるビューの名前を指定できます。
普通は ViewRenderer による自動レンダリングが有効なので、アクションの中でレンダリングするビューを変更したい時に使うと思います(デフォルトでは実行されたモジュール名・コントローラー名・アクション名から自動的にビューの名前が決定されます)。
forward
URL は変えずに別のアクションを実行します。サーバ内で完結するものなのでブラウザにはフォワードしていることは伝わりません。
ビューへアサインされた変数はフォワードしても維持されるので、フォワード前に設定したビュー変数をフォワード後のビューで使うことができます。
ただ、フォワード前後で値を受け渡したければ、普通は forward()
の引数で渡すと思います。
forward()と_forward()の違いってなんでしょうか?
_forward()
は ZF 1.7 からは非奨励で、代わりに forward()
を使うと良いです。なお、_redirect()
と redirect()
も同じです。
redirect
いわゆるリダイレクトをします。つまり、ブラウザに 302 などのリダイレクトのためのレスポンスコードを返して、指定した URL にリダイレクトするように指示します。
ブラウザはこれを受け取ったあと、指定された URL に遷移します。
リダイレクト元のアクションからリダイレクト先のアクションに値を渡したければ、Routing のパラメータとして渡すか(Routing の定義による)、クエリストリングで渡す必要があります。要するに URL に含める必要があります。
セッションに入れて受け渡す、という方法でも出来なくはないです。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2015/09/20 03:00