1: <?php
2: /**
3: * Wei Framework
4: *
5: * @copyright Copyright (c) 2008-2015 Twin Huang
6: * @license http://opensource.org/licenses/mit-license.php MIT License
7: */
8:
9: namespace Wei;
10:
11: /**
12: * A wrapper for PHP Error
13: *
14: * @author Twin Huang <twinhuang@qq.com>
15: * @link http://phperror.net/
16: */
17: class PhpError extends Base
18: {
19: /**
20: * @var \php_error\ErrorHandler
21: */
22: protected $errorHandler;
23:
24: /**
25: * Constructor
26: *
27: * @param array $options
28: * @link https://github.com/JosephLenton/PHP-Error/wiki/Options
29: */
30: public function __construct(array $options = array())
31: {
32: parent::__construct(array(
33: 'wei' => isset($options['wei']) ? $options['wei'] : null
34: ));
35:
36: // Avoid exception "Unknown option given XXX"
37: unset($options['wei'], $options['namespace']);
38:
39: $this->errorHandler = \php_error\reportErrors($options);
40: }
41:
42: /**
43: * Returns PHP Error ErrorHandler object
44: *
45: * @return \php_error\ErrorHandler
46: */
47: public function __invoke()
48: {
49: return $this->errorHandler;
50: }
51: }
52: