uzulla / guardphp
(Perl) PHP 守护者
v1.0
2014-05-17 05:25 UTC
Requires
- php: >=5.3
Requires (Dev)
- phpunit/phpunit: 3.*
This package is auto-updated.
Last update: 2024-09-07 14:29:10 UTC
README
类似于 Perl 的 Scope::Guard
概要
<?php
require "vendor/autoload.php";
use \Uzulla\Guard as Guard;
chdir('/usr'); # カレントディレクトリを/tmpに変更
echo getcwd().PHP_EOL; # カレントディレクトリを表示
call_user_func(function(){
$g = new Guard(function(){ # Guardにコードを登録
chdir('/usr');
});
chdir('/'); # カレントディレクトリを/に変更
echo getcwd().PHP_EOL; # カレントディレクトリを表示
# ここでscopeがおわるので、上で登録したコードが実行される
});
echo getcwd().PHP_EOL; # カレントディレクトリを表示
描述
Guard 允许在特定的作用域离开时执行函数。
它利用离开作用域时变量被释放的特性,因此在 PHP 的函数作用域中使用匿名函数等会更好。
通过更改变量名,可以创建多个,但不能保证它们的执行顺序。
许可证
MIT