PHP实现的通用、高阶函数。

1.0.4 2016-06-27 18:22 UTC

This package is not auto-updated.

Last update: 2024-09-14 18:26:05 UTC


README

许多算法是通用的。也就是说,算法的功能与算法对底层数据的操作无关。这些通用算法可以封装在可重用的函数中。

本包提供了使用可调用对象模式实现的可重用通用函数。您可以将这些通用函数嵌套以解决更复杂的问题。请参阅以下内容以及文档

Latest Stable Version Build Status Coverage Status Monthly Downloads

安装

使用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%的覆盖率。
  • 选择有用的东西。如果算法需要许多参数,或者在计算结果后公开状态,则它是一个不错的选择。

杂项

这些算法可以组合在一起。仓库名称 foxf(x) 的缩写,表示 "f of x",这反映了这些函数的组合能力。

Go和Java都有实现指数退避的重试函数。