きちんと伝えられなくて申し訳ない
id:yoyaさんが発表内容に触れてくれていたんですが、きちんと伝えられていなかったようなので補足させていただきます。
XSS脆弱性の報告によって発覚したバリデーションの抜け穴を塞いだということであって、XSS対策でというわけではありません。バリデーションを通過していないリクエストデータが予期せぬセキュリティーホールとなることはXSS以外にもあります。
レイヤーレンダリングも便利というより面倒そうなイメージでちょっと残念。
どのテンプレートを使うかという情報はレイヤーの設定はレイアウトといって設定ファイル(output_type.xml)で設定できます。
<layouts default="default"> <!-- The default layout for HTML includes two layers: the "content" layer is used by the View to render its output, and the "decorator" layer is preconfigured with the decorator template of the Public module --> <layout name="default"> <!-- This is the topmost layer. Views would render their output here, using a default template name that matches the name of the View. --> <layer name="content" /> <!-- The output of the above layer will fall through into this fixed layer, which is preconfigured to render the decorator template. The content of the output becomes available to us here through $inner (see app/modules/Public/templates/decorator.php) --> <layer name="decorator"> <parameter name="template">decorator</parameter> <parameter name="directory">%core.module_dir%/Public/templates</parameter> </layer> </layout> </layouts>
ビューでは$this->loadLayout('layout_name');とすることで呼び出せます。
至らない発表だったためAgaviの魅力が正しく伝わらなかったのは残念です。そしてAgaviの関係者の皆さんごめんなさい。