rfc:useas

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:useas [2012/04/12 15:02] laruencerfc:useas [2017/09/22 13:28] (current) – external edit 127.0.0.1
Line 2: Line 2:
   * Version: 1.0   * Version: 1.0
   * Date: 2012/04/12   * Date: 2012/04/12
-  * Author: Xinchen Hui <laruence@php.net) +  * Author: Xinchen Hui <laruence@php.net> 
-  * Status: Under Discussion+  * Status: Withdrawn
   * First Published at: http://wiki.php.net/rfc/useas   * First Published at: http://wiki.php.net/rfc/useas
  
Line 14: Line 14:
   $foo = "bar";   $foo = "bar";
      
-  $func = function () ues ($foo as $dup, &$foo as $ref) { //alias name+  $func = function () use ($foo as $dup, &$foo as $ref) { //alias name
   };   };
      
Line 21: Line 21:
 ===== Proposal ===== ===== Proposal =====
  
-I have made a patch,  but for now, it doesn't support alias $this, like:+I have made a patch, after patch,  the following script:
  
 <code> <code>
 <?php <?php
 +
 +$a = "2";
 +
 +$b = function() use (&$a as $b, $a as $c, $a as $e) {
 +    echo $b;
 +    echo $c;
 +    echo $e;
 +    $b = 4;
 +};
 +
 +$b();
 +
 +echo $a;
  
 class Foo { class Foo {
-   public function bar() { +    public function closure() { 
-      return function() use ($this as $obj) //Error +        return function () use ($this as $obj) { 
-      {}; +            var_dump($obj); 
-   }+        }; 
 +    }
 } }
 +
 +$foo = new Foo();
 +
 +$a = $foo->closure();
 +$a();
 </code> </code>
  
- but I will be keeping to improve it+ will output: 
 +<code> 
 +2224object(Foo)#2 (0) { 
 +
 +</code>  
 + 
 +I will be keeping improve this patch.
  
 ===== Patch ===== ===== Patch =====
Line 42: Line 67:
 ===== Changelog ===== ===== Changelog =====
    * 2012-04-12 Xinchen Hui Initial version    * 2012-04-12 Xinchen Hui Initial version
 +   * 2012-07-18 Xinchen Hui Open voting  
 +   * 2012-07-19 Xinchen Hui Draw back, add dynamic variable supporting
rfc/useas.1334242947.txt.gz · Last modified: 2017/09/22 13:28 (external edit)