haldayne / fox
PHP实现的通用、高阶函数。
1.0.4
2016-06-27 18:22 UTC
Requires
- php: ^5.5.0 || ^7.0
- haldayne/boost: ^1.0
Requires (Dev)
- phpunit/phpunit: ^4.0
- satooshi/php-coveralls: ^0.6
This package is not auto-updated.
Last update: 2024-09-14 18:26:05 UTC
README
许多算法是通用的。也就是说,算法的功能与算法对底层数据的操作无关。这些通用算法可以封装在可重用的函数中。
本包提供了使用可调用对象模式实现的可重用通用函数。您可以将这些通用函数嵌套以解决更复杂的问题。请参阅以下内容以及文档。
安装
使用composer安装: php composer.phar require haldayne/fox ^1.0
需要PHP版本5.5.0或更高版本。不需要其他PHP扩展。
选择示例
重试一个函数,直到它成功或达到最大尝试次数。每次尝试延迟指数增加的时间
$retry = new \Haldayne\Fox\Retry( function ($src, $dst) { return copy($src, $dst); } ); $retry->setAttempts(3); $retry('ssh2.sftp://user:pass@host/the/file', 'thefile') or die("Copy failed after {$retry->getAttempts()} attempts");
包内容和文档
丰富的文档可在Read the Docs上找到
贡献
欢迎您的贡献! 打开一个问题 或 创建一个gist 展示您如何使用fox。如果您想 为fox添加新算法,请记住以下几点
- 请将仓库分叉并创建一个PR。
- 使用 PSR-2。
- 更新测试,以确保至少有80%的覆盖率。
- 选择有用的东西。如果算法需要许多参数,或者在计算结果后公开状态,则它是一个不错的选择。
杂项
这些算法可以组合在一起。仓库名称 fox
是 f(x)
的缩写,表示 "f of x",这反映了这些函数的组合能力。
Go和Java都有实现指数退避的重试函数。