Exception cakephp2.1.0:“;“正在维修中”;页
我试图实现一些类似于使用CakePHP2.1.0的东西。这就是我到目前为止所做的: app/Config/bootstrap.php:Exception cakephp2.1.0:“;“正在维修中”;页,exception,cakephp,cakephp-2.1,Exception,Cakephp,Cakephp 2.1,我试图实现一些类似于使用CakePHP2.1.0的东西。这就是我到目前为止所做的: app/Config/bootstrap.php: Configure::write('App.maintenance',true) app/Controller/AppController.php: if (Configure::read('App.maintenance')) { App::uses('UnderMaintenanceException', 'Error/Exception');
Configure::write('App.maintenance',true)代码>
app/Controller/AppController.php:
if (Configure::read('App.maintenance')) {
App::uses('UnderMaintenanceException', 'Error/Exception');
throw new UnderMaintenanceException();
}
最后,我有一个文件位于“app/Lib/Error/Exception/UnderMaintenanceException.php”,但它是空的,因为我不知道该放什么。无论debug是否设置为0,我如何使其成为一个外观友好的“我们正在进行维护”页面?谢谢大家!
编辑:我现在意识到我的问题有些不清楚。因此,我在“app/Lib/Error/Exception/UnderMaintenanceException.php”文件中添加了以下内容:
如果我将调试值更改为0,则不会得到任何输出。不是很友好!我该怎么做才能获得友好的输出?只需在您创建的新类中重写构造函数,如下所示:
<?php
/**
* Represents an 'Under Maintenance Error'
*/
class UnderMaintenanceException extends HttpException {
/**
* Constructor
*
* @param string $message If no message is given, it defaults to
* 'Application is Under Maintenance'
* @param int $code Status code, defaults to 403
*/
public function __construct($message = null, $code = 403) {
if (empty($message)) {
$message = 'Application is Under Maintenance';
}
parent::__construct($message, $code);
}
}
你到底在问什么?在“记录维护”页面中放什么?@Juhana很抱歉不够清晰。我更新了我的问题。可能是重复的
Fatal Error (256): [UnderMaintenanceException]
#0 /Applications/MAMP/htdocs/my_project/app/Lib/Error/AppExceptionRenderer.php(12): AppController->beforeFilter()
#1 /Applications/MAMP/htdocs/my_project/lib/Cake/Error/ExceptionRenderer.php(232): AppExceptionRenderer->_outputMessage('error500')
#2 [internal function]: ExceptionRenderer->error500(Object(UnderMaintenanceException))
#3 /Applications/MAMP/htdocs/my_project/lib/Cake/Error/ExceptionRenderer.php(165): call_user_func_array(Array, Array)
#4 /Applications/MAMP/htdocs/my_project/lib/Cake/Error/ErrorHandler.php(127): ExceptionRenderer->render()
#5 [internal function]: ErrorHandler::handleException(Object(UnderMaintenanceException))
#6 {main} [CORE/Cake/Error/ErrorHandler.php, line 136]
<?php
/**
* Represents an 'Under Maintenance Error'
*/
class UnderMaintenanceException extends HttpException {
/**
* Constructor
*
* @param string $message If no message is given, it defaults to
* 'Application is Under Maintenance'
* @param int $code Status code, defaults to 403
*/
public function __construct($message = null, $code = 403) {
if (empty($message)) {
$message = 'Application is Under Maintenance';
}
parent::__construct($message, $code);
}
}