gielfeldt / lock
锁库。
dev-master
2015-09-27 12:09 UTC
Requires
- php: >=5.4.0
- gielfeldt/shutdownhandler: ~1.0
This package is not auto-updated.
Last update: 2024-09-14 17:37:33 UTC
README
安装
要在项目中使用Composer安装Lock库,首先将以下内容添加到您的composer.json
配置文件中。
{ "require": { "gielfeldt/lock": "~1.0" } }
然后运行Composer的安装或更新命令以完成安装。有关如何使用Composer的更多信息,请访问Composer主页。
Lock
此锁处理程序...
动机/目标
- "简单" API (™)
- 分离存储逻辑以避免样板代码
- 确保在销毁锁时发布
- 可选地跨请求持久化
- 在例如发布上的事件处理器
- 强制发布(由非所有者)
示例1 - 使用Lock库
namespace Gielfeldt\Lock\Example; require 'vendor/autoload.php'; use Gielfeldt\Lock; $lockService = new Lock\LockService([ 'storage' => new Lock\Storage\Memory(), ]); print "'mylock' is locked: " . $lockService->isLocked('mylock') . "\n"; print "Locking 'mylock'\n"; $lock = $lockService->acquire('mylock'); print "'mylock' is locked: " . $lockService->isLocked('mylock') . "\n"; $lock->bind('release', function ($lock) { print "RELEASE EVENT 2: " . $lock->getName() . "\n"; }); $lock->release(); print "'mylock' is locked: " . $lockService->isLocked('mylock') . "\n";
更多示例请参阅examples/文件夹。
功能
- 使用任意存储后端进行锁操作
- 在脚本之间持久化锁
- 确保在作用域结束时释放锁
- 在锁释放时附加自定义事件处理器
注意事项
- 可能有很多。