<?php
class MyClass {
private $ErrorHandler = null;
// Зарегистрировать обработчик ошибок
public function RegisterErrorHandler($ErrorHandlerFn) {
$this->ErrorHandler = $ErrorHandlerFn;
}
// Симуляция ошибки
public function TestError(){
if(is_callable($this->ErrorHandler)) { // Если определен обработчик ошибок }
}
}
$myClass = new MyClass();
$myClass->RegisterErrorHandler(function($errorText){
echo $errorText;
});
$myClass->TestError();
PD9waHAKY2xhc3MgTXlDbGFzcyB7CiAgICBwcml2YXRlICRFcnJvckhhbmRsZXIgPSBudWxsOwoKCiAgICAvLyDQl9Cw0YDQtdCz0LjRgdGC0YDQuNGA0L7QstCw0YLRjCDQvtCx0YDQsNCx0L7RgtGH0LjQuiDQvtGI0LjQsdC+0LoKICAgIHB1YmxpYyBmdW5jdGlvbiBSZWdpc3RlckVycm9ySGFuZGxlcigkRXJyb3JIYW5kbGVyRm4pIHsKICAgICAgICAkdGhpcy0+RXJyb3JIYW5kbGVyID0gJEVycm9ySGFuZGxlckZuOwogICAgfQoKCiAgICAvLyDQodC40LzRg9C70Y/RhtC40Y8g0L7RiNC40LHQutC4CiAgICBwdWJsaWMgZnVuY3Rpb24gVGVzdEVycm9yKCl7CiAgICAgICAgaWYoaXNfY2FsbGFibGUoJHRoaXMtPkVycm9ySGFuZGxlcikpIHsgLy8g0JXRgdC70Lgg0L7Qv9GA0LXQtNC10LvQtdC9INC+0LHRgNCw0LHQvtGC0YfQuNC6INC+0YjQuNCx0L7QugogICAgICAgICAgICBjYWxsX3VzZXJfZnVuYygkdGhpcy0+RXJyb3JIYW5kbGVyLCfQotC10LrRgdGCINC+0YjQuNCx0LrQuCcpOwogICAgICAgIH0KICAgIH0KCn0KCgokbXlDbGFzcyA9IG5ldyBNeUNsYXNzKCk7CgokbXlDbGFzcy0+UmVnaXN0ZXJFcnJvckhhbmRsZXIoZnVuY3Rpb24oJGVycm9yVGV4dCl7CiAgICBlY2hvICRlcnJvclRleHQ7Cn0pOwoKJG15Q2xhc3MtPlRlc3RFcnJvcigpOw==