PHP - self, static or $this in callback function
With PHP5.4 it will be. For now it's not possible. However, if you only need access to public properties, method
$that = $this;function () use ($that) { echo $that->doSomething(); }
For constants there is no reason to not use the qualified name
function () { echo Classname::FOO; }
Just use the standard way:
Foo::BAZ;
or
$baz = self::BAZ;... function($number) use($baz) { $baz;}
What about this:
class Foo { const BAZ = 5; $self = __class__; public static function bar() { echo self::BAZ; // it works OK array_filter(array(1,3,5), function($number) use($self) { return $number !== $self::BAZ; // access to self, just your const must be public }); }}