具有静态方法回调的Set_error_handler

Sho*_*hoe 10 php oop error-handling

RTM但是我找不到任何关于这个问题的好答案,所以这就是:

  • 我可以将静态方法称为错误处理程序(例如:) set_error_handler('error::function')吗?
  • 推荐吗?

Gum*_*mbo 17

set_error_handler期望伪类型回调的值.在示例中,您可以看到有两种方法可以指定静态方法:

set_error_handler(array('Class', 'method'));

// since PHP 5.2.3
set_error_handler('Class::method');
Run Code Online (Sandbox Code Playgroud)

  • 如果您使用 PHP 命名空间,请确保在您的类中包含完整的命名空间。即 set_error_handler('MyNameSpaceRoot\MyNameSpacePath\MyErrorClass::myErrorHandlerMethod'); 或其他形式: set_error_handler(array('MyNameSpaceRoot\MyNameSpacePath\MyErrorClass', 'myErrorHandlerMethod')); (3认同)