このようなことはどうですか?あなたが取得します
<?php
class bug
{
protected $user;
public function test()
{
$thisObj = $this;
goo('test',function() use ($thisObj) {
$thisObj->user = 'foooooooo';
});
echo $this->user;
}
}
function goo($val,$callback)
{
$callback();
}
$bug = new bug();
$bug->test();
:あなたは変数にオブジェクト全体を割り当て、それによって、オブジェクト(?おそらくこれはあなたが何を意味するかである)を変更use()
に注入することができます
class A{
protected $user;
public function __construct(){
$this->user = 'hehexd';
}
public function getFunction(){
$temp = $this->user; // or a reference
$rval = function($response) use ($temp){
echo $temp;
};
return $rval;
}
}
$a = new A();
$func = $a->getFunction();
$func('response');
exit;
'use'キーワードを使用してください。 http://php.net/manual/en/functions.anonymous.php – bassxzero
(?)、? $ userまたは$ this-> user –
と書くと、use($ user)というエラーが表示され、 "変数未定義"となり、使用すると($ this-> user)、 "$ thisを使用できません字句変数として " –