Symfony2で「Hello World」(3)

Symfony2

3) コントローラの作成

次はコントローラを作成します。

先ほど作ったルートを見ると “AcmeHelloBundle:Hello:index” となっています。
これはつまり、Acme名前空間にある、HelloBundleというバンドルの
HelloControllerというコントローラのindexAction()というメソッドを
呼ぶことを示しています。

なので、ここでは、HelloBundleコントローラを作成し、そこに”indexAction”という
メソッドを持た、”/hello/xxx”でアクセスしてきたら、「Hello xxx!」と表示する
処理をするようにします。

こんな感じです。
“/hello/xxx/” の “xxx” の部分は、indexActionの引数として受け取れます。
ルートの設定で “pattern: /hello/{name}” としているので、メソッドの
引数に “$name” と記載するだけで受け取ることができます。

コントローラは基本、Responseオブジェクトを返して終わります。
ここでは、Responseクラスのコンストラクタ引数に、表示させるHTML文を
そのまま入れて、Responseオブジェクトを作成しそのまま返しています。

これで完成です!

たとえば、ブラウザから上記のようにアクセスすれば、
以下のような出力になります。

タイトルとURLをコピーしました