在对象实例上等待php回调并在函数上返回值
发布时间:2020-12-13 17:58:34 所属栏目:PHP教程 来源:网络整理
导读:我有以下函数实例化一个对象并运行其方法.我想返回$to_return,但问题是即使函数使用’use’关键字,$to_return也不会改变.这是功能: function some_function($arg){ $to_return = false; $object = new Object; $to_return = $object-METHOD(function($callb
我有以下函数实例化一个对象并运行其方法.我想返回$to_return,但问题是即使函数使用’use’关键字,$to_return也不会改变.这是功能:
function some_function($arg){ $to_return = false; $object = new Object; $to_return = $object->METHOD(function($callback) use ($to_return){ $to_return = $some_var; }); $to_return = $object->runMETHOD("some_arg"); return $to_return; } 所以,基本上: > $to_return返回始终为false 简而言之:如何让some_function返回对象方法内部更改的对象?
所有你想念的是表明$to_return应该通过引用传递:
function($callback) use (& $to_return) 也是3v4l:https://3v4l.org/Vfp70上的工作示例示例 我不是内部专家,但是当您将它们传递到某个地方时,长篇故事短基元被“复制”,因此您在回调中设置的内容不会被转移到外部.另一方面,对象的行为与预期的一样,因为传递指向对象的指针并修改原始实例.使用甚至普通的stdClass作为这样的转运器也可以工作,如3v4l:https://3v4l.org/m9jJ3所示 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |