abijahkaj/memorize

SM-2算法的PHP实现

1.2 2021-10-04 20:07 UTC

This package is auto-updated.

Last update: 2024-09-07 16:03:47 UTC


README

Build Status

SM-2算法的PHP实现。

关于

这是我创建的一个库,用于尝试一些流行的工具,如Travis、Packagist和Composer,以及设置库结构和提高我对测试驱动开发的了解。虽然这对我来说是一个测试项目,但这个库仍然完全可用,可以被任何数据库用于在应用程序中实现间隔重复。

特性

  • 根据E因子计算重复项的重复间隔。
  • 根据旧因子(或无因子)和响应质量计算项的E因子。

安装

通过Composer安装Memorize。运行以下命令

composer require abijahkaj/memorize

或者将以下内容添加到您的composer.json文件中。

{
    "require": {
    	"abijahkaj/memorize": "1.*"
	}
}

算法

SM是一系列由SuperMemo软件包推广的算法。Memorize库在PHP中实现了完整的SM-2算法SM2类处理重复间隔和E因子的计算。Card类处理闪卡及其虚拟重复次数。最后,Repeater类处理实际的CardQueue重复,决定首先重复哪些卡片以及它们是否被成功重复。

测试

在根目录下运行PHPUnit,执行$ phpunit

作者