clsasc/equivalent-time

基于类实现的英国游泳/SPORTSYSTEMS等效时间算法。

v1.3 2019-01-09 21:10 UTC

This package is auto-updated.

Last update: 2024-09-29 09:50:41 UTC


README

基于类实现的英国游泳/SPORTSYSTEMS等效时间算法。由Chester-le-Street ASC内部编写。

基本用法

  1. 通过composer安装
composer require clsasc/equivalent-time
  1. 从那里,在你的项目中创建一个EquivalentTime对象
use CLSASC\EquivalentTime\EquivalentTime;
$object = new EquivalentTime("25m", "200 Free", 116.68);

参数1是源泳池的长度,参数2是事件,参数3是时间,格式为浮点数,seconds.hundreds - 你可能需要将其转换为浮点数,以防你的代码将时间作为字符串接收。

  1. 选择输出格式为字符串或浮点数。默认输出为浮点数,但你可以通过在对象上调用setOutputAsString();方法来获取'alpha格式'(MM:SS:H)字符串。通过在对象上调用setOutputAsReal();方法来切换回。

  2. 获取输出。PHP $object->getConversion("50m"); 其中参数是你希望将时间转换到的泳池长度。

  3. 你可以无限次调用转换对象的getConversion($length)方法。要转换另一个时间,创建一个新的对象,PHP将在不再引用旧对象后将其回收。

文档

完整的API风格文档可用(phpDocumentor)。

接受的源泳池长度

源泳池长度的名称应作为字符串输入到转换对象中。

在调用方法获取转换时间时,应使用以下列出的相同字符串,尽管在调用方法时始终应try {...} catch (Exception ...) {...},因为如果无法在请求的距离内游泳该事件,转换器将抛出异常来提醒你问题。

  • 20m
  • 25m
  • 33 1/3m
  • 50m
  • 20y
  • 25y
  • 26 2/3y
  • 27 1/2y
  • 33 1/3y

接受的事件

以下是可以由时间转换器接受的事件列表。某些事件仅适用于源泳池长度的子集,这些子集在事件名称之后的列表中描述。如果你尝试创建一个具有不兼容事件和源泳池长度的对象,将抛出异常,你应该catch...

事件名称应作为字符串输入到转换对象中。

  • 50 自由泳允许以下源泳池长度;
    • 50m
    • 25m
    • 27 1/2y
    • 25y
  • 100 自由泳
  • 200 自由泳
  • 400 自由泳
  • 800 自由泳
  • 1500 自由泳不允许以下源泳池长度;
    • 33 1/3y
    • 20y
  • 50 蛙泳允许以下源泳池长度;
    • 50m
    • 25m
    • 27 1/2y
    • 25y
  • 100 蛙泳
  • 200 蛙泳
  • 50 蝶泳允许以下源泳池长度;
    • 50m
    • 25m
    • 27 1/2y
    • 25y
  • 100 蝶泳
  • 200 蝶泳
  • 50 仰泳允许以下源泳池长度;
    • 50m
    • 25m
    • 27 1/2y
    • 25y
  • 100 仰泳
  • 200 仰泳
  • 200 混合泳
  • 400 混合泳

异常

系统将在错误条件下抛出异常。请阅读文档以获取有关这些的详细信息。