php - this keyword inside slim framework closure

Solution:

It seems that the $this is the $app in this context. And from the earlier part of the documentation you can see that you create the container, add it to the app. So the container is there, injected.

$container = new \Slim\Container;
$app = new \Slim\App($container);

Although Slim is a microframework - it's not easy. You use Slim 3, no problem with that. If you want to understand better how the things could be structured - I recommend this tutorial (it's for Slim 4).

Answer

Solution:

after couple of hours searching i got my answer so i want to share it

class A{
private $privateData = 2;

public function get($func){
    $c=Closure::bind($func,$this,"A");
    $c();
}

public function getPrivateData(){
    return $this->privateData;
 }
}


$a=new A();
$a->get(function (){
    var_dump($this->getPrivateData());
});

https://codesamplez.com/programming/php-closure-tutorial

Source