Просмотр поста

.
ДоХтор

Delphinum, помоги пожалуйста разобраться с отлавливаемыми ошибками. К примеру, есть описание анонимной функции, в теле которой надо реализовать корректные действия в случае передачи на вход функции getData() значения, которое не соответствует сигнатуре этой функции. Иначе говоря, функция getData() ожидает экземпляр класса Foo, и если передать в неё объект другого типа, или просто другой тип данных, то PHP вызовет мою анонимную функцию, зарегистрированную выше в коде программы, и эта анонимка должна способствовать правильному завершению работы программы. В данный момент она просто распечатывает строку "Введите корректное значение!".

PS: Это не конкретная программа, просто пример, в котором нужно разобраться (+/-)
$catchingErrors = function () {
    echo 'Введите корректное значение!';
};

set_error_handler($catchingErrors);


class Foo
{
    public $property;
    
    public function __construct($str)
    {
        $this->property = $str;
    }
}

function getData(Foo $user1) {
    return $user1->property;
}

$user1 = new Foo('Hello World!');
echo getData($user1);