Cake PHP

有名なフレームワークということで概略を公式サイトで確認…しようとしたがドキュメントが異様に少ない。やたらと細切れに表示されるせいか?


個人的には、MVCのコントローラに処理を伝えるのにURLを使用しなければならないのが性に合わない事が分かった。とはいえ、ショップサイト構築とかを考えると、ブックマークが可能なURLでのパラメータ転送が望ましいのかもしれないな…。全ての変数をURLで渡さなければならないと言うことでも無さそうだし。


あと、モデルとデータベースを対応づけるのに、「モデルは名詞の単数形で、データベースは複数形を使う」というのは何か頭がおかしいと思った。特に「person」の複数形が「people」になっているらしいあたりで。意味もなく複雑になっているだけ*1なので、同じ名前を使えば良いだろ…。それに、personには普通にsをつけた複数形があるんだけど。

モデルのクラス名は単数形でキャメル記法です。Person、BigPerson、ReallyBigPerson などは規約に合ったモデル名です。

CakePHP のモデルに対応するテーブル名は、複数形でアンダースコア記法です。上記の例で言えば、テーブル名はそれぞれ、people、big_people、really_big_peopleになります。

話し言葉では通常personsを使わないとかいう点から考えるに、このフレームワークはそういうことを「面倒になるから考えない(ユーザーには見えないし)」という割り切りをする技術者を対象とみるというよりは、「personsという単語を使うと気持ち悪い」という人たちを対象にしているのだろうか。あるいは、誰かがそんな関数を用意したから、という理由か?(笑)

*1:自動的に名詞の複数形を生成するための方法などが別途用意されている…というのは物事を複雑にしているだけとしか思えなかった。