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も結構改善されているはず、と期待しつつ使用開始。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です