全アクション共通の処理 | Controller & Action

コントローラに initialize()メソッド が存在すればアクションの前に、finalize()メソッド が存在すればアクションの後に実行されます。つまりアクションの前処理・後処理をここで行うことができます。
class Index_Controller_MyController extends Sabel_Controller_Page
{
  public function initialize()
  {
    // このコントローラ内のアクションの実行前に実行される
  }
  
  ...
}
initialize()メソッド内でレスポンスオブジェクトの状態を 4xx や 5xx などの失敗系のステータスに変更した場合アクションの実行はスキップされます。なお、initialize()メソッド内でリダイレクトした場合も同様に、アクションの実行はスキップされます。
class Index_Controller_MyController extends Sabel_Controller_Page
{
  public function initialize()
  {
    $this->response->getStatus()->setCode(Sabel_Response::FORBIDDEN);
  }
  
  public function myAction()
  {
    // 実行されない
  }
}
finalize()メソッドはレスポンスの状態に関わらず常に呼び出されるため、それを調べる必要があるかもしれません。
class Index_Controller_MyController extends Sabel_Controller_Page
{
  ...
  
  public function finalize()
  {
    // リダイレクトされていれば何もしない
    if ($this->response->isRedirected()) return;
    
    // 失敗系のステータスになってたら何もしない
    if ($this->response->isFailure()) return;
    
    // 後処理コード
    ...
  }
}