PHP - self, static or $this in callback function PHP - self, static or $this in callback function php php

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         });    }}