File: PHPErrorReporter.php

package info (click to toggle)
mediawiki 1%3A1.43.3%2Bdfsg-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 417,464 kB
  • sloc: php: 1,062,949; javascript: 664,290; sql: 9,714; python: 5,458; xml: 3,489; sh: 1,131; makefile: 64
file content (35 lines) | stat: -rw-r--r-- 772 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
<?php

namespace MediaWiki\Rest\Reporter;

use MediaWiki\Rest\Handler;
use MediaWiki\Rest\RequestInterface;
use Throwable;

/**
 * Error reporter based on php's native trigger_error() method.
 * @since 1.38
 */
class PHPErrorReporter implements ErrorReporter {

	/** @var int */
	private $level;

	/**
	 * @param int $level The error level to pass to trigger_error
	 */
	public function __construct( $level = E_USER_WARNING ) {
		$this->level = $level;
	}

	/**
	 * @param Throwable $error
	 * @param Handler|null $handler
	 * @param RequestInterface $request
	 */
	public function reportError( Throwable $error, ?Handler $handler, RequestInterface $request ) {
		$firstLine = preg_split( '#$#m', (string)$error, 0 )[0];
		trigger_error( $firstLine, $this->level );
	}

}