[CakePHP]プラグインの名前はキモイけど…

プラグインの名前がキモイのをなんとかする
http://www.ustream.tv/recorded/1609082
を見ての感想。
動画感謝です。
requestActionってそんなに使うかな
一度も使ったこと無いのでありがたみがわからない…
複数のコントローラのアクションを同時に呼ぶようなシチュエーションも想像できない…
想像できないものは仕方ないというわけで、気にしないことにする。
そしてコントローラのプラグイン名さえ省略すればURLのキモさは解消されるわけで。
(routes.phpで書き換えてもいいけどそれだとプラグイン内で完結しないからなー…)
コンポーネントやヘルパーの名前問題
個人的にはこっちのが問題かと。
例えばDebugKitのToolbarComponent。

$components = array('DebugKit.Toolbar');

って使うけど、

$components = array('MyPlugin.Toolbar', 'DebugKit.Toolbar');

みたいに他のプラグインもしくはapp層でToolbarComponentていう名前使ってたらDebugKit使えないわけですよ。
かといって、

$components = array('MyPlugin.Toolbar', 'DebugKit.DebugKitToolbar');

のようになってもやはりキモい。キモすぎる。 プラグイン名が名前空間になればいいのに…*1
デフォルトコントローラは便利ですね
これは知らなかった。
これからプラグインのメインコンテンツはデフォルトコントローラに書くことにしよう。
まとめ

  • コントローラ以外、プラグイン名は省略しない。キモくても我慢する。
  • コントローラはまずデフォルトコントローラに出来ないか検討。
  • 最終的にはroutes.phpで。

*1:PHPの次のバージョンからnamespace実装らしい…でもcakeが対応するのは2.0以降だろうなぁ…