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: