私は、メソッドをクロージャ型に変換する方法はありますか?php - メソッドをクロージャに変換する
class myClass{
public function myMethod($param){
echo $param;
}
public function myOtherMethod(Closure $param){
// do somthing here ...
}
}
$obj = new myClass();
$obj->myOtherMethod((closure) '$obj->myMethod');
これは一例ですが、私は呼び出し可能な使用し、[$obj,'myMethod']
私のクラスは非常に複雑であり、私はちょうど閉鎖タイプのために何を変更カントを使用傾けます。 私はクロージャにメソッドを変換する必要があります。 他の方法がありますか、これを使用する必要がありますか?
$obj->myOtherMethod(function($msg) use($obj){
$obj->myMethod($msg);
});
私は少ないメモリとリソース消費者の方法を使いたいと思っています。そのような解決策はありますか? PHP 7.1以降
'クロージャー 'はパフォーマンス上の問題ではありません。試しに使うことができます。このようにすることが大丈夫です。 – JustOnUnderMillions
「少ないメモリを使う」という小さなメモ。 PHPの '$ var1 = $ var2; 'のすべてのコピーは、内容が変更されない限り、最初は参照です。これは直接コピー '$ var1 = trim($ var2);' – JustOnUnderMillions
ありがとうございます。他の方法はありませんか? –