Completed
Push — add_bdd ( 07502f )
by Anatoliy
07:38
created

ErrorHandler::startErrorHandle()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 5
Code Lines 2

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
dl 0
loc 5
rs 9.4285
c 0
b 0
f 0
cc 1
eloc 2
nc 1
nop 0
1
<?php
2
declare(strict_types=1);
3
/**
4
 * Created by PhpStorm.
5
 * User: danchukas
6
 * Date: 2017-07-24 14:12
7
 */
8
9
namespace DanchukAS\DenyMultiplyRun;
10
11
/**
12
 * Class ErrorHandler
13
 * @package DanchukAS\DenyMultiplyRun
14
 */
15
class ErrorHandler
16
{
17
    /**
18
     * Для перехвата помилок що не кидають ексепшини.
19
     *
20
     * @var \LogicException
21
     */
22
    public static $lastError;
23
24
25
    public static function startErrorHandle()
26
    {
27
        \set_error_handler([__CLASS__, 'errorHandle']);
28
29
        self::$lastError = null;
30
    }
31
32
    /** @noinspection MoreThanThreeArgumentsInspection */
33
    /**
34
     * @param int $messageType
35
     * @param string $messageText
36
     * @param string $messageFile
37
     * @param int $messageLine
38
     *
39
     * @return bool
40
     */
41
    public static function errorHandle(int $messageType, string $messageText, string $messageFile, int $messageLine)
42
    {
43
        // добавляємо лише інформацію яка є.
44
        // все інше добавляти має обробник самого проекта.
45
        $message = "[$messageType] $messageText in $messageFile on line $messageLine";
46
47
        self::$lastError = new \LogicException($message);
48
49
        // Перехопити перехопили, кидаєм далі обробляти.
50
        return false;
51
    }
52
53
54
}