Maple: SD 3月号から 3.1.0 要素を足してみる
記事こそは 3.0.2 で書いています。基本的には知識の使いまわしはできますが、3.1.0 でちょっと楽できたり+α要素がある部分がありますので、その分を書き出してみました。記事を手元に照らし合わせながら確認してみてください。
1. 「Maple 設定ファイル」の記述
1.1. 設定ファイルの中身について
3.1.0 での追加要素はありますが、記事の説明で基本は問題ないと思います。
1.2. 「文字について」について
3.1.0 において、SCRIPT_CODE, SKELETON_CODE 定数が追加されています。これは共に generator が使用する定数です。generator が EUC-JP で記述されているため、EUC-JP のままでいいでしょう。
2. 「Action クラス」の作成
2.1. PHP コードについて
generator が登場しましたので、Maple の root より、
# php script/generate.php action submit smarty submit myapp
として出来上がるものを リスト3, リスト4, リスト7, リスト8 として扱ってください。
2.2. Setter, Getter の排除
コードの半分を占めていた ;) set**, get** というメソッドは必要なくなりました。
2.3. Action 名の命名規則
P.56 (2) の Action 命名ルールにおいて、以下のように読み替えてください。
旧:「foo_bar アクションは modules/foo/bar/ ディレクトリ内の Foo_Bar.class.php 」
新:「foo_bar アクションは modules/foo/bar/ ディレクトリ内の Bar.class.php 」
;; 個人的には modules/Foo/Bar.class.php になるものとばっかり
3. 「テンプレートファイル」の記述
generator によりテンプレートも仮のものが出来上がりますので、それぞれをリスト5, リスト6 に書き換えてください。
テンプレートファイル内で Action クラス内の変数にアクセスする場合、{$action.name} というような配列参照でできるようになっています。この参照できる範囲は Action の public property です。
また、Smarty 自体は必須ではなくなっています。(別のテンプレートの場合は、などというマジ文章はさすがに割愛。)

「modules/Foo/Bar.class.php」にしたいんですが、そうすると Foo_Bar と Foo_Baz が同じディレクトリにクラスを置くことになり、maple.ini が重なるんですよね・・・
これはもう3系の限界だと思って、ここまでにしてます。