symfony 1.2 における Propel の Behavior のフックポイントまとめ(たぶん)

自分の手元で生成されたモデルクラスを基にまとめてみる。あくまで自分用なので環境によっては違ったりするかもね。

BaseObject クラス

対象メソッド フック名 備考
delete :delete:pre delete() の冒頭で呼ばれる。falseを返すと以降の処理をおこなわない。
delete :delete:post delete() の末尾で呼ばれる。
save :save:pre save() の冒頭で呼ばれる。整数型の結果を返すと affectedRows であると見なし、その結果を関数の結果として返却した上で、以降の処理をおこなわない。
save :save:post save() の末尾で呼ばれる。
__call :(任意のメソッド名) マジックメソッド __call の冒頭で呼ばれる。コールされたメソッド名に基づいた名称のフックが登録されていればそのメソッドを実行する。登録されていない場合はsfExceptionをthrowする。

Base**Peerクラス

対象メソッド フック名 備考
doCount Peer:doCount:doCount doCount() の冒頭で呼ばれる。
doSelectStmt Peer:doSelectStmt:doSelectStmt doSelectStmt() の冒頭で呼ばれる。
doInsert Peer:doInsert:pre doInsert() の冒頭で呼ばれる。falseを返すと以降の処理をおこなわない。
doInsert Peer:doInsert:post doInsert() の末尾で呼ばれる。
doUpdate Peer:doUpdate:pre doUpdate() の冒頭で呼ばれる。falseを返すと以降の処理をおこなわない。
doUpdate Peer:doUpdate:post doUpdate() の末尾で呼ばれる。
doSelectJoin** Peer:doSelectJoin:doSelectJoin doSelectJoin**() の冒頭で呼ばれる。
doSelectJoinAll Peer:doSelectJoinAll:doSelectJoinAll doSelectJoinAll() の冒頭で呼ばれる。
doCountJoin** Peer:doCount:doCount doCountJoin**() の冒頭で呼ばれる。doCountのフックと同じ。
doSelectJoinAllExcept** Peer:doSelectJoinAllExcept :doSelectJoinAllExcept doSelectJoinAllExcept**() の冒頭で呼ばれる