refactoring.

This commit is contained in:
Taylor Otwell 2011-11-15 19:15:31 -06:00
parent 6bd3dcb039
commit e226a463bf
6 changed files with 38 additions and 27 deletions

View File

@ -2,6 +2,19 @@
return array(
/*
|--------------------------------------------------------------------------
| Ignored Error Levels
|--------------------------------------------------------------------------
|
| Here you may specify the error levels that should be ignored by the
| Laravel error handler. These levels will still be logged; however, no
| information about about them will be displayed.
|
*/
'ignore' => array(E_NOTICE, E_USER_NOTICE, E_DEPRECATED, E_USER_DEPRECATED),
/*
|--------------------------------------------------------------------------
| Error Detail
@ -29,7 +42,7 @@
|
*/
'log' => false,
'log' => true,
/*
|--------------------------------------------------------------------------
@ -46,17 +59,15 @@
| a single text file within the application storage directory.
|
| Of course, you are free to implement more complex solutions including
| e-mailing the exceptions details to your team, etc.
| emailing the exceptions details to your team, etc.
|
*/
'logger' => function($e, $config)
'logger' => function($exception)
{
$format = '%s | Message: %s | File: %s | Line: %s';
$message = (string) $exception;
$message = sprintf($format, date('Y-m-d H:i:s'), $e->getMessage(), $e->getFile(), $e->getLine());
File::append(STORAGE_PATH.'log.txt', $message.PHP_EOL);
}
File::append(STORAGE_PATH.'log.txt', date('Y-m-d H:i:s').' - '.$message.PHP_EOL);
},
);

View File

@ -58,6 +58,7 @@
*/
Config::load('application');
Config::load('session');
Config::load('error');
/**
* Register the Autoloader's "load" method on the auto-loader stack.

View File

@ -5,11 +5,10 @@ class Hash {
/**
* Hash a password using the Bcrypt hashing scheme.
*
* Bcrypt provides a future-proof hashing algorithm by allowing the
* number of "rounds" to be increased, thus increasing the time it
* takes to generate the hashed value. The longer it takes takes
* to generate the hash, the more impractical a rainbow table
* attack against the hashes becomes.
* Bcrypt provides a future-proof hashing algorithm by allowing the number of
* "rounds" to be increased, thus increasing the time it takes to generate the
* hashed value. The longer it takes takes to generate the hash, the more
* impractical a rainbow table attack against the hashes becomes.
*
* <code>
* // Create a Bcrypt hash of a value

View File

@ -23,16 +23,16 @@
*/
$handler = function($exception)
{
$config = Config::get('error');
$config = Config::$items['error'];
if ($config['log'])
{
call_user_func($config['logger'], $exception, $config);
call_user_func($config['logger'], $exception);
}
if ($config['detail'])
{
echo "<html><h2>Uncaught Exception</h2>
echo "<html><h2>Unhandled Exception</h2>
<h3>Message:</h3>
<pre>".$exception->getMessage()."</pre>
<h3>Location:</h3>
@ -44,6 +44,8 @@
{
Response::error('500')->send();
}
exit(1);
};
/**
@ -61,9 +63,14 @@
* handler, which will convert the error into an ErrorException object
* and pass the exception into the common exception handler.
*/
set_error_handler(function($number, $error, $file, $line) use ($handler)
set_error_handler(function($number, $error, $file, $line)
{
$handler(new \ErrorException($error, $number, 0, $file, $line));
if (error_reporting() === 0 or in_array($number, Config::$items['error']['ignore']))
{
return;
}
throw new \ErrorException($error, $number, 0, $file, $line);
});
/**

View File

@ -2,13 +2,6 @@
class Request {
/**
* The request URI for the current request.
*
* @var string
*/
public static $uri;
/**
* The route handling the current request.
*

View File

@ -7,7 +7,7 @@ class URI {
*
* @var string
*/
protected static $uri;
public static $uri;
/**
* The URI segments for the current request.