Symfony2で「Hello World」(4)

Symfony2

4) テンプレートの作成

前回の「3) コントローラの作成」でひとまず Helloバンドル は完成しました。
今回は表示するものが少ないですが、今後表示するものが多く複雑になったばあいは、
コントローラで直接表示用のコードを書いていくとメンテナンスがしにくく、効率も
さがります。

そこで、今回はテンプレートを作成し、表示部分はこのテンプレートに任せるよう、
コントローラを修正します。

まずは、コントローラのほうを修正します。

前回と比べると、”return”の行が変わってます。

前回

今回

$this->render() は、指定したテンプレートをレンダリングし、その結果を元にした
Responseオブジェクトを返します。
なので、この場合も結果的にはResponseオブジェクトをreturnすることになります。

また、このrender()メソッドを使うため “use Symfony\Bundle\FrameworkBundle\Controller\Controller” クラスを継承する必要があります。

そこで、上記のように4行目で、このクラスを使用を宣言し、6行目でこのクラスを継承する
処理 “extends Controller” を入れてあります。

では、テンプレートの話しに入ります。
ここでは、”AcmeHelloBundle:Hello:index.html.twig”という名前のテンプレートを指定しています。
これはつまりどのファイルをさすのか? 以下を指します。
src/Acme/HelloBundle/Resources/views/Hello/index.html.twig

なので、次に “src/Acme/HelloBundle/Resources/views/Hello/index.html.twig” という
テンプレートを作成します。

これで、テンプレートを使ったHelloバンドルの完成です。

以下のように自分のサーバにアクセスしてみてください。
http://xxxxxxxx/app_dev.php/hello/Taro

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