プロパティプロシージャが書けないからメソッドで実装するという方針
CakePHP に関連しつつ、どちらかというと PHP 全般の話題なのかもしれません。
CakePHP の Model クラスには入力規則に沿わないフィールドの一覧を返す invalidFields() というメソッドがあるのですが、なぜこれが getInvalidFields() という名前ではないのか?という疑問の声に興味を持ちました。
おそらく「名前に動詞がひとつもないから何をするメソッドなのかわからない」ということなのだと思われますが、もしかしたら CakePHP の設計者はこのメソッドをプロパティプロシージャのような位置づけにしたかったのかもしれません。たしかに invalidFields がプロパティ名ならあまり不自然さは感じません。しかしながら PHP でプロパティプロシージャは作りづらいのです。
ただ、 PHP5 なら __set や __get などを駆使して目的が達成できるかもしれません。自分自身もさらなる検証が必要に感じました。
« CakePHP 1.2 の正規表現問題 |
h() の脆弱性 »
