Вы можете присвоить $this
некоторой переменной, а затем использовать ключевое слово use
для передачи этой переменной в функцию при определении функции, хотя я не уверен, что ее проще использовать.В любом случае, вот пример:
class Foo {
function bar() {
$this->baz = 2;
$obj = $this;
$echo_baz = function() use($obj) { echo $obj->baz; };
$echo_baz();
}
}
$f = new Foo();
$f->bar();
Стоит отметить, что $obj
будет рассматриваться как стандартный объект (а не $this
), поэтому вы не сможете получить доступ к частным и защищеннымчлены.