recently i started to learn API in PHP, i start to learning basic stuffs related to API then i decided to learn a framework and i choose slim microframework so i was reading the Dependency Container documentation and i saw this example
$app->get('/foo', function ($req, $res, $args) {
$myService = $this->get('myService');
return $res;
});
here this keyword refers to Container object so i want to know how it is possible to refer an object with this keyword in PHP closure?
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());
});