clsasc / equivalent-time
基于类实现的英国游泳/SPORTSYSTEMS等效时间算法。
v1.3
2019-01-09 21:10 UTC
Requires
- php: >=5.6
README
基于类实现的英国游泳/SPORTSYSTEMS等效时间算法。由Chester-le-Street ASC内部编写。
基本用法
- 通过composer安装
composer require clsasc/equivalent-time
- 从那里,在你的项目中创建一个EquivalentTime对象
use CLSASC\EquivalentTime\EquivalentTime; $object = new EquivalentTime("25m", "200 Free", 116.68);
参数1是源泳池的长度,参数2是事件,参数3是时间,格式为浮点数,seconds.hundreds - 你可能需要将其转换为浮点数,以防你的代码将时间作为字符串接收。
-
选择输出格式为字符串或浮点数。默认输出为浮点数,但你可以通过在对象上调用
setOutputAsString();方法来获取'alpha格式'(MM:SS:H)字符串。通过在对象上调用setOutputAsReal();方法来切换回。 -
获取输出。
PHP $object->getConversion("50m");其中参数是你希望将时间转换到的泳池长度。 -
你可以无限次调用转换对象的
getConversion($length)方法。要转换另一个时间,创建一个新的对象,PHP将在不再引用旧对象后将其回收。
文档
完整的API风格文档可用(phpDocumentor)。
接受的源泳池长度
源泳池长度的名称应作为字符串输入到转换对象中。
在调用方法获取转换时间时,应使用以下列出的相同字符串,尽管在调用方法时始终应try {...} catch (Exception ...) {...},因为如果无法在请求的距离内游泳该事件,转换器将抛出异常来提醒你问题。
20m25m33 1/3m50m20y25y26 2/3y27 1/2y33 1/3y
接受的事件
以下是可以由时间转换器接受的事件列表。某些事件仅适用于源泳池长度的子集,这些子集在事件名称之后的列表中描述。如果你尝试创建一个具有不兼容事件和源泳池长度的对象,将抛出异常,你应该catch...。
事件名称应作为字符串输入到转换对象中。
50 自由泳允许以下源泳池长度;50m25m27 1/2y25y
100 自由泳200 自由泳400 自由泳800 自由泳1500 自由泳不允许以下源泳池长度;33 1/3y20y
50 蛙泳允许以下源泳池长度;50m25m27 1/2y25y
100 蛙泳200 蛙泳50 蝶泳允许以下源泳池长度;50m25m27 1/2y25y
100 蝶泳200 蝶泳50 仰泳允许以下源泳池长度;50m25m27 1/2y25y
100 仰泳200 仰泳200 混合泳400 混合泳
异常
系统将在错误条件下抛出异常。请阅读文档以获取有关这些的详细信息。