mirror of
https://github.com/yiisoft/yii2.git
synced 2025-11-03 13:58:55 +08:00
...
This commit is contained in:
@ -89,6 +89,7 @@ abstract class Application extends Module
|
||||
* @see language
|
||||
*/
|
||||
public $sourceLanguage = 'en_us';
|
||||
public $preload = array('errorHandler');
|
||||
|
||||
private $_runtimePath;
|
||||
private $_ended = false;
|
||||
@ -115,7 +116,6 @@ abstract class Application extends Module
|
||||
\Yii::$application = $this;
|
||||
$this->setBasePath($basePath);
|
||||
\Yii::setAlias('application', $this->getBasePath());
|
||||
$this->initSystemHandlers();
|
||||
$this->registerCoreComponents();
|
||||
}
|
||||
|
||||
@ -640,19 +640,6 @@ abstract class Application extends Module
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Initializes the class autoloader and error handlers.
|
||||
*/
|
||||
protected function initSystemHandlers()
|
||||
{
|
||||
if (YII_ENABLE_EXCEPTION_HANDLER) {
|
||||
set_exception_handler(array($this, 'handleException'));
|
||||
}
|
||||
if (YII_ENABLE_ERROR_HANDLER) {
|
||||
set_error_handler(array($this, 'handleError'), error_reporting());
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Registers the core application components.
|
||||
* @see setComponents
|
||||
|
||||
@ -125,7 +125,12 @@ class ErrorHandler extends ApplicationComponent
|
||||
$this->clearOutput();
|
||||
}
|
||||
|
||||
try {
|
||||
$this->render($exception);
|
||||
} catch (\Exception $e) {
|
||||
// use the most primitive way to display exception thrown in the error view
|
||||
$this->renderAsText($e);
|
||||
}
|
||||
}
|
||||
|
||||
protected function render($exception)
|
||||
@ -318,12 +323,9 @@ class ErrorHandler extends ApplicationComponent
|
||||
public function renderAsText($exception)
|
||||
{
|
||||
if (YII_DEBUG) {
|
||||
echo get_class($exception) . "\n";
|
||||
echo $exception->getMessage() . ' (' . $exception->getFile() . ':' . $exception->getLine() . ")\n";
|
||||
echo $exception->getTraceAsString();
|
||||
echo $exception;
|
||||
} else {
|
||||
echo get_class($exception) . "\n";
|
||||
echo $exception->getMessage();
|
||||
echo get_class($exception) . ':' . $exception->getMessage();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@ -226,7 +226,7 @@ class View extends Component
|
||||
$view .= '.php';
|
||||
}
|
||||
if ($view[0] === '@') {
|
||||
$file = \Yii::getAlias($view[0]);
|
||||
$file = \Yii::getAlias($view);
|
||||
} elseif (!empty($this->basePath)) {
|
||||
$basePaths = is_array($this->basePath) ? $this->basePath : array($this->basePath);
|
||||
foreach ($basePaths as $basePath) {
|
||||
|
||||
@ -58,10 +58,7 @@ $owner = $this->owner;
|
||||
The above error occurred while the Web server was processing your request.
|
||||
</p>
|
||||
<p>
|
||||
If you think this is a server error, please contact us.
|
||||
</p>
|
||||
<p>
|
||||
Thank you.
|
||||
Please contact us if you think this is a server error. Thank you.
|
||||
</p>
|
||||
<div class="version">
|
||||
<?php echo date('Y-m-d H:i:s', time()); ?>
|
||||
|
||||
9
todo.md
9
todo.md
@ -2,18 +2,15 @@
|
||||
* WebTarget
|
||||
* ProfileTarget
|
||||
- base
|
||||
* error/exception handling
|
||||
* Convert all PHP errors into exceptions, remove YII_ENABLE_ERROR_HANDLER and error handler (?)
|
||||
* module
|
||||
- Module should be able to define its own configuration including routes. Application should be able to overwrite it.
|
||||
* application
|
||||
* http exception
|
||||
* security
|
||||
- validators
|
||||
* type conversion rules
|
||||
* CompareValidator::clientValidateAttribute(): search for "CHtml::activeId"
|
||||
* FileValidator, UniqueValidator, ExistValidator, DateValidator: TBD
|
||||
* consider merging UniqueValidator and ExistValidator and using a NOT property: array('!exist', <EFBFBD>)
|
||||
* consider merging UniqueValidator and ExistValidator and using a NOT property: array('!exist', …)
|
||||
* when getting errors from getErrors it will be good to have which validator (at least type) failed exactly.
|
||||
- console command support [DONE]
|
||||
- built-in console commands
|
||||
@ -25,8 +22,7 @@
|
||||
* a way to invalidate/clear cached data
|
||||
* a command to clear cached data
|
||||
- db
|
||||
* DAO
|
||||
* schema
|
||||
* sqlite, pgsql, sql server, oracle, db2 drivers
|
||||
* write a guide on creating own schema definitions
|
||||
* AR
|
||||
* saving related records
|
||||
@ -51,6 +47,7 @@
|
||||
* get/setFlash() should be moved to session component
|
||||
* support optional parameter in URL patterns
|
||||
* Response object.
|
||||
* ErrorAction
|
||||
- gii
|
||||
* move generation API out of gii, provide yiic commands to use it. Use same templates for gii/yiic.
|
||||
* i18n variant of templates
|
||||
|
||||
Reference in New Issue
Block a user