setter/getterの省略

長い間やるといっておいてなかなかできてませんでしたが、3.1.0-beta1で実現しています。基本的にはhawkさんとbobchinさんからいただいたコードをベースに作っています。
今回の修正により、以下のようなリクエストがあった場合、

  http://xxx.yyy.jp/index.php?name=kunit&pref=osaka

以下のようにリクエストパラメータと同じ変数名を準備するだけで、受け取ることができます。(ようやくsetterの呪縛が・・・)

<?php
class Test
{
    var $name;
    var $pref;

    function execute()
    {
        return 'success';
    }
}
?>

また、Viewフィルターにおいて、以下の記述({$action.[パラメータ名]})でActionクラスのパラメータが参照できます。

<html>
<body>
名前: {$action.name}<br>
都道府県: {$action.pref}
</body>
</html>

また、今回の修正でデフォルトでSmartyの escape modifier をかけるようにしたので、いちいち「|escape」と書かなくていいです。逆にescapeを一旦はずしたい場合は、「|smarty:nodefaults」という記述が必要になります。

generatorとこのsetter/getterの省略対応によって、かなり開発は楽になると思います。(たくさんフォームがある画面でも苦にならない)