2011-09-20 46 views

回答

1

查看ErrorHandler類和error views核心中的完整列表。

您可以通過擴展的ErrorHandler添加自己:

// app/app_error.php 
class AppError extends ErrorHandler { 
    function maintenance($params) { 
     $this->controller->set(compact('params')); 
     $this->controller->flash('Down for maintenance', 'warn'); 
     $this->_outputMessage('maintenance'); 
    } 
} 

你可以通過調用Object::cakeError()拋出錯誤:

// app/app_controller.php 
class AppController extends Controller { 
    protected function beforeFilter() { 
     if (Configure::read('App.maintenance')) { 
      header('HTTP/1.1 503 Service Temporarily Unavailable'); 
      header('Retry-After: ' . HOUR); 
      $this->cakeError('maintenance'); 
     } 
    } 
} 

視圖中app/views/errors/去。 :)

+0

請記住,CakePHP 2.0中的所有內容都是[更改](http://book.cakephp.org/2.0/en/development/exceptions.html#built-in-exceptions) – deizel