sfGuardPluginとDoctrine
■symfony 1.4はDoctrineがデフォルトORM
最近またSymfonyでアプリを作ってる。前回触ってから1年以上。その間にバージョンなどに大きな変化が…IT業界、時代の流れに付いていくのだけで大変。
さて、symfony 1.4ではDoctrineがデフォルトのORマッパーになったらしい。以前触っていた1.1ではPropelがデフォルトでDoctrineというのは名前だけしか聞いたこと無かったんだけど、今回せっかくなんで使ってみることにした。
ちなみに、symfony 1.4でPropelを使うには、一番簡単なのはプロジェクト作成時にORMにPropelを指定すること。このページ(英語)に載ってた。
■sfGuardPluginはPropel用、らしい。
sfGuardPluginはPropel用だというのを知らずにインストールしたら、当然何も動かない。アンインストールしようとすると以下のエラーが出る。
# symfony plugin:uninstall sfGuardPlugin Fatal error: Class 'sfPropelBaseTask' not found in C:pathtoprojectnameapplicationpluginssfGuardPluginlibtasksfGuardAddGroupTask.class.php on line 20
解決方法としては、c:pathtoprojectnameapplicationpluginssfGuardPluginlibtask フォルダーを削除してから、uninstallコマンドを実行する。
英語だけど全く同じ質問がgoogleの掲示板みたいなのにあった。
■Doctrine用にはsfDoctrineGuardPlugin
sfDoctrineGuardPluginってのがある。sfGuardPluginには劣ってるみたいな古い書き込みも見つけたけど、Symfony 1.4はDoctrineがデフォルトになったんだから、sfDoctrineGuardPluginも結構改善されているはず、と期待しつつ使用開始。