On top of the cultural disposition, there is also the fact that things should not be removed from the language without deprecating them, so at best 7.0 would emit and E_DEPRECATED for the usage of "@".
- Stelian On Mon, Mar 9, 2015 at 3:31 PM, Kalle Sommer Nielsen <ka...@php.net> wrote: > Hi > > 2015-03-09 15:11 GMT+01:00 Shawn McCool <sh...@heybigname.com>: > > I guess that if I thought that PHP would change its scoping, I would have > > tried for that. > > Well take this code into consideration: > <?php > class A { > protected $b; > > function c($b) { > $b = $b; // does not work > } > > function d($d) { > $b = $d; // works > } > } > ?> > > A::c() will fail because the parameter $b conflicts with the property > A::$b, but example works because the parameter is now named $d, and > therefore making $b available for assignment (should probably > internally be implemented as a reference to $this->b), but only on > demand (JIT) to avoid extra memory consumption. > > This approach may seem quirky at first, but it doesn't add any new > syntax but some magic behind the scenes. Although I personally am not > a huge fan of magic variables like that, it is possible. > > > > -- > regards, > > Kalle Sommer Nielsen > ka...@php.net > > -- > PHP Internals - PHP Runtime Development Mailing List > To unsubscribe, visit: http://www.php.net/unsub.php >