rfc:improved_error_callback_mechanism
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revisionNext revisionBoth sides next revision | ||
rfc:improved_error_callback_mechanism [2015/04/08 00:26] – changed modify date patrickallaert | rfc:improved_error_callback_mechanism [2015/04/21 16:47] – Added: PR URL patrickallaert | ||
---|---|---|---|
Line 2: | Line 2: | ||
* Version: 0.2 | * Version: 0.2 | ||
* Create Date: 2015-03-13 | * Create Date: 2015-03-13 | ||
- | * Modify Date: 2015-04-08 | + | * Modify Date: 2015-04-14 |
* Author: Patrick Allaert < | * Author: Patrick Allaert < | ||
* Status: Under discussion | * Status: Under discussion | ||
Line 32: | Line 32: | ||
An extension that want to extend one of the part can do it so by **appending** a hook: | An extension that want to extend one of the part can do it so by **appending** a hook: | ||
<code c> | <code c> | ||
- | | + | |
/* Do some logging with error line number, filename, message, ... */ | /* Do some logging with error line number, filename, message, ... */ | ||
} | } | ||
Line 39: | Line 39: | ||
</ | </ | ||
- | **Prepending** is also possible in the case one want to execute a hook before the other of the same category: | + | **Prepending** is also possible in the case one want to execute a hook before the others |
<code c> | <code c> | ||
- | PHP_ERROR_HOOK_API my_logging_hook(PHP_ERROR_HOOK_ARGS) { | ||
- | /* Do some logging with error line number, filename, message, ... */ | ||
- | } | ||
- | |||
zend_prepend_error_hook(E_HOOK_LOG, | zend_prepend_error_hook(E_HOOK_LOG, | ||
</ | </ | ||
- | An extension that want to **clear** | + | An extension that want to **clear** |
<code c> | <code c> | ||
zend_clear_error_hook(E_HOOK_DISPLAY); | zend_clear_error_hook(E_HOOK_DISPLAY); | ||
Line 55: | Line 51: | ||
'' | '' | ||
+ | |||
+ | The modification of hook lists must be done during the MINIT phase. | ||
==== Overview of the improved '' | ==== Overview of the improved '' | ||
Line 82: | Line 80: | ||
==== Open discussions point ==== | ==== Open discussions point ==== | ||
- | Should the implementation contain pre and post hooks that would be empty by default? It would enable extensions to do some treatment at the early/ | + | Should the implementation |
===== Backward incompatible changes ===== | ===== Backward incompatible changes ===== | ||
Line 102: | Line 100: | ||
===== Patches and tests ===== | ===== Patches and tests ===== | ||
- | The patch is under creation | + | The patch has been created |
+ | PR available at: https:// | ||
===== Implementation ===== | ===== Implementation ===== | ||
Line 122: | Line 121: | ||
* 0.1: Initial RFC (2015-03-13) | * 0.1: Initial RFC (2015-03-13) | ||
- | * 0.2: Changing API a bit + possibility to prepend hooks as suggested by Derick + fixing E_HOOK_PROCESS hooks placement (2015-04-07) | + | * 0.2: Changing API slightly |
rfc/improved_error_callback_mechanism.txt · Last modified: 2017/09/22 13:28 by 127.0.0.1