Piece Framework勉強会に参加してきました

先週末のことになりますが、第8回Piece Framework勉強会に参加してきました。
こちらのミスで飛び入り参加のようなかたちになってしまいましたが、快く迎えてくださってありがとうございました。>all
(あとで申し込みのメールを見直してみたら、サブジェクトが空になっていました。これではスパム扱いされても仕方ない...orz)


勉強会の内容はPiece_Examples_BasicsをベースにPiece_ORMを利用したユーザ登録・編集機能を実装することを中心に、雑談に花が咲いたりもしました。いきなり「ぬふぅ」は超危険。飲み物を口にしてなくてよかったです。
(参考: 良い子のための消しゴムスタンプ講座)


で、「spycはCache_Lite併用ならパフォーマンス的には問題ないけどブロックスタイルに制限があるのでORMで長いカスタムクエリ書くときにしんどいんですよねー」という趣旨のことを言ってしまったのですが、
これ(↓)はだめでも

- name: findAllByCriteria
  query: >-
    SELECT * FROM person
    WHERE (($firstName IS NULL OR $firstName = '') OR first_name LIKE $firstName)
    AND (($lastName IS NULL OR $lastName = '') OR last_name LIKE $lastName)
    AND (($loginName IS NULL OR $loginName = '') OR login_name LIKE $loginName)

これ(↓)ならいけたので

- name: findAllByCriteria
  query: >
    SELECT * FROM person
    WHERE (($firstName IS NULL OR $firstName = '') OR first_name LIKE $firstName)
    AND (($lastName IS NULL OR $lastName = '') OR last_name LIKE $lastName)
    AND (($loginName IS NULL OR $loginName = '') OR login_name LIKE $loginName)

全く問題ありませんでした。
ちなみに上記コードはPiece_ORM短期集中コースではフロースタイルで一行に書かれているものをブロックスタイルで見やすくしたものです。


また、Piece_Unity 1.0.0より本体から分割されたPiece_Unity_Component_Flexyは、フォームの処理がスマートに書けるようになるなど、Flexy使いにとっては嬉しい改良がなされていました。
Renderer_Flexyプラグインにテンプレートプラグインを指定する設定ポイントexternalPluginsが追加され、HTML_Template_Flexyのコンストラクタのオプションpluginsにはここで設定した値が適用されるようになったので、これまで &PEAR::getStaticProperty('HTML_Template_Flexy', 'options') を使ってテンプレートプラグインの設定をしていた人は注意が必要です。