rfc:error_handler_callback_parameters_passed_by_reference

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
Last revisionBoth sides next revision
rfc:error_handler_callback_parameters_passed_by_reference [2015/02/13 00:27] thbleyrfc:error_handler_callback_parameters_passed_by_reference [2015/02/27 23:26] thbley
Line 1: Line 1:
 ====== PHP RFC: Allow error_handler callback parameters to be passed by reference ====== ====== PHP RFC: Allow error_handler callback parameters to be passed by reference ======
-  * Version: 0.1 +  * Version: 0.2 
-  * Date: 2015-01-26 (initial draft)+  * Date: 2015-02-28
   * Authors: Reeze Xia <reeze@php.net>, Thomas Bley <mails@thomasbley.de>   * Authors: Reeze Xia <reeze@php.net>, Thomas Bley <mails@thomasbley.de>
-  * Status: Draft+  * Status: Declined
   * First Published at: http://wiki.php.net/rfc/error_handler_callback_parameters_passed_by_reference   * First Published at: http://wiki.php.net/rfc/error_handler_callback_parameters_passed_by_reference
  
Line 172: Line 172:
 ==== Performance ==== ==== Performance ====
  
-TODO+Performance is not affected in normal code execution. In case of an error that can be handled in user-space, we need to copy the referenced variables back to their origins.
  
 ===== Open Issues ===== ===== Open Issues =====
Line 204: Line 204:
 </code> </code>
  
-This issue is not related to this rfc and handled separately in: https://bugs.php.net/bug.php?id=68963+This issue is not related to this rfc and handled separately on https://bugs.php.net/bug.php?id=68963
  
 2. Callback parameter errstr can be changed to an empty string, example: 2. Callback parameter errstr can be changed to an empty string, example:
Line 260: Line 260:
 $file, so an example would look like this: $file, so an example would look like this:
  
-<file php error_log.php>+<file php test_error_log.php>
 function myErrorHandler($errno, $errstr, $errfile, $errline) { function myErrorHandler($errno, $errstr, $errfile, $errline) {
   switch($errno){   switch($errno){
Line 290: Line 290:
 </code> </code>
  
-===== Proposed Voting Choices =====+===== Vote =====
  
-This RFC requires a 50%+1 majority.  +This RFC requires a 50%+1 majority, meaning the first two choices count as Yesthe third choice counts as NoVoting started on 2015-02-13 and will end on 2015-02-27.
- +
-There will be three options: +
- +
-1. Allow $errno$errstr$errfile, $fileno parameter to be passed by reference +
- +
-2Allow $errstr parameter been passed by reference +
- +
-3No, Allow none of the parameter be a reference parameter+
  
 +<doodle title="Allow error_handler callback parameters to be passed by reference" auth="thbley" voteType="single" closed="true">
 +   * Allow $errstr parameter to be passed by reference
 +   * Allow $errno, $errstr, $errfile, $fileno parameter to be passed by reference
 +   * No, Allow none of the parameter be a reference parameter
 +</doodle>
  
 ===== Patches and Tests ===== ===== Patches and Tests =====
  
-Currently implemented on https://github.com/php/php-src/pull/1018+Currently implemented on https://github.com/php/php-src/pull/1018\\ 
 PR is against master and includes the first four callback parameters to be passed by reference. PR is against master and includes the first four callback parameters to be passed by reference.
 +The PR will be updated to correspond vote if any one of the accepted.
  
 I've used to build on Ubuntu 14.04: I've used to build on Ubuntu 14.04:
Line 322: Line 320:
 ===== References ===== ===== References =====
  
-Discussion on php-internals: http://marc.info/?t=142181539200002&r=1&w=2 +  * Discussion on php-internals: http://marc.info/?t=142181539200002&r=1&w=2 
-Discussion on Github: https://github.com/php/php-src/pull/1018+  Discussion on Github: https://github.com/php/php-src/pull/1018
  
 ===== Rejected Features ===== ===== Rejected Features =====
rfc/error_handler_callback_parameters_passed_by_reference.txt · Last modified: 2017/09/22 13:28 by 127.0.0.1