rfc:use_function

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
Next revisionBoth sides next revision
rfc:use_function [2013/07/22 13:05] – [Changelog] formatting igorwrfc:use_function [2013/11/09 19:03] – update pull request URL igorw
Line 1: Line 1:
 ====== PHP RFC: Importing namespaced functions ====== ====== PHP RFC: Importing namespaced functions ======
  
-  * Version: 1.0.1+  * Version: 1.1.1
   * Date: 2013-05-02   * Date: 2013-05-02
   * Author: Igor Wiedler, igor@wiedler.ch   * Author: Igor Wiedler, igor@wiedler.ch
-  * Status: Under Discussion+  * Status: Accepted
   * First Published at: http://wiki.php.net/rfc/use_function   * First Published at: http://wiki.php.net/rfc/use_function
  
Line 70: Line 70:
     var_dump(baz());     var_dump(baz());
     var_dump(qux());     var_dump(qux());
 +}
 +</code>
 +
 +All of this applies not only to functions, but also to namespaced constants. For consistency, a **use const** sequence should also be introduced, that does the same thing for constants:
 +
 +<code php>
 +namespace foo\bar {
 +    const baz = 42;
 +}
 +
 +namespace {
 +    use const foo\bar\baz;
 +    var_dump(baz);
 +}
 +</code>
 +
 +Just like classes, it should be possible to alias imported functions and constants:
 +
 +<code php>
 +namespace {
 +    use function foo\bar as foo_bar;
 +    use const foo\BAZ as FOO_BAZ;
 +    var_dump(foo_bar());
 +    var_dump(FOO_BAZ);
 } }
 </code> </code>
Line 195: Line 219:
 ===== Patches and Tests ===== ===== Patches and Tests =====
  
-There is a patch against PHP-5.6 (currently master) [[https://github.com/php/php-src/pull/388|as a GitHub pull request]].+There is a patch against PHP-5.6 (currently master) [[https://github.com/php/php-src/pull/526|as a GitHub pull request]].
 ===== References ===== ===== References =====
  
Line 204: Line 228:
 - None. - None.
  
 +===== Vote =====
 +
 +The voting period is 15.08.2013 until 29.08.2013.
 +
 +<doodle title="RFC/use_function" auth="user" voteType="multi" closed="true">
 +   * Yes?
 +   * No?
 +</doodle>
 ===== Changelog ===== ===== Changelog =====
  
 +  * 2013-08-08 1.1.1 Added example of aliasing
 +  * 2013-07-23 1.1.0 Added support for constants with `use const`
   * 2013-07-22 1.0.1 FAQ "why 'use function'?"   * 2013-07-22 1.0.1 FAQ "why 'use function'?"
   * 2013-07-19 1.0.0 First version published for discussion   * 2013-07-19 1.0.0 First version published for discussion
rfc/use_function.txt · Last modified: 2017/09/22 13:28 by 127.0.0.1