rfc:closurefromcallable

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
rfc:closurefromcallable [2016/05/15 17:20] – Opened voting. danackrfc:closurefromcallable [2017/09/22 13:28] (current) – external edit 127.0.0.1
Line 1: Line 1:
 ====== PHP RFC: Closure from callable function ====== ====== PHP RFC: Closure from callable function ======
-  * Version: 0.95+  * Version: 1
   * Date: 2016-04-23    * Date: 2016-04-23 
   * Author: Dan Ackroyd, Danack@php.net   * Author: Dan Ackroyd, Danack@php.net
-  * Status: Voting+  * Status: Implemented (PHP 7.1)
   * First Published at: https://wiki.php.net/rfc/closurefromcallable   * First Published at: https://wiki.php.net/rfc/closurefromcallable
  
Line 125: Line 125:
 ==== Performance gain ==== ==== Performance gain ====
  
-Although PHP has a 'callable' type it is quite slow to use compared to other types. This is due to the amount of work that is needed to check whether a 'callable' is actually a valid callable or not. This work needs to be each time the 'callable' parameter is called.+Although PHP has a 'callable' type it is quite slow to use compared to other types. This is due to the amount of work that is needed to check whether a 'callable' is actually a valid callable or not. This work needs to be performed each time the 'callable' parameter is called.
  
 Below are two files that call a function 10,000 times which calls itself recursively 8 times. One version has a callable type for the parameter, the other has Closure as the type. Measuring the number of operations with Below are two files that call a function 10,000 times which calls itself recursively 8 times. One version has a callable type for the parameter, the other has Closure as the type. Measuring the number of operations with
Line 152: Line 152:
  
 Voting will close at 9pm UTC on the 29th of May 2016. Voting will close at 9pm UTC on the 29th of May 2016.
-<doodle title="Accept Closure from Callble? (50%+1 majority required)" auth="Danack" voteType="single" closed="false">+<doodle title="Accept Closure from Callble? (50%+1 majority required)" auth="Danack" voteType="single" closed="true">
    * Yes    * Yes
    * No    * No
Line 191: Line 191:
 However this RFC takes the position that it is inappropriate to have a separate function per type. Instead having a single function that takes any callable parameter is more powerful, and easier for users to use. However this RFC takes the position that it is inappropriate to have a separate function per type. Instead having a single function that takes any callable parameter is more powerful, and easier for users to use.
    
 +===== Implementation =====
 +
 +Merged into php-src for PHP 7.1: https://github.com/php/php-src/commit/63ca65d
 +
 +After the project is implemented, this section should contain 
 +  - a link to the PHP manual entry for the feature
 +
 ===== Appendix ===== ===== Appendix =====
    
rfc/closurefromcallable.1463332828.txt.gz · Last modified: 2017/09/22 13:28 (external edit)