phplang / scope-exit
C++ 中 SCOPE_EXIT 构造的模拟
1.0.0
2016-09-17 00:15 UTC
Requires (Dev)
This package is not auto-updated.
Last update: 2024-09-14 19:42:14 UTC
README
这个简单的类提供了 C++ 的 SCOPE_EXIT
或 GoLang 的 defer
的实现。
使用时,将此对象的实例分配给一个局部变量。当该变量超出作用域(或显式 unset
)时,将调用构造函数中传递的回调函数。例如,这有助于在函数结束时进行清理。
function f(&$x) { $x = 1; $_ = new \PhpLang\ScopeExit(function() use (&$x) { $x = 2; }); // $x is still 1 at this point. return 42; // After the return, the local scope is cleaned up, the closure is invoked, and it's set to 2 } f($a); var_dump($a); // int(2)