a-afsharfarnia/data-mapper

这是一个简单的数据映射器包

v1.0.0 2019-10-21 15:01 UTC

This package is not auto-updated.

Last update: 2024-10-02 13:56:04 UTC


README

通过此包,我们可以将数据从一个映射到另一个。例如,我们可以创建一个时间映射器,将1m映射到1分钟,反之亦然,或者将3d映射到3天。因此,当我们有1m时,我们将能够达到1分钟,依此类推。

安装

 $ composer require a-afsharfarnia/data-mapper

如何使用

安装包后,您需要做的就是创建您的映射器类。假设您想在项目中创建以下映射器

  • 时间映射器(例如,将1m映射到1分钟,反之亦然)
  • 语言映射器(例如,将en映射到english,反之亦然)

因此,您必须为每个映射器创建一个类。您可以在/src/samples中查看TimeMapperLanguageMapper类作为示例。

如示例所示,每个映射器类都是扩展了Afsharfarnia\DataMapper\mappers\Mapper。然后在每个映射器类中,您必须定义一个包含映射数据的$mapper静态属性。

    public static $mapper = [
        "1m" => "1minute",
        "30m" => "30minutes",
        "1h" => "1hour",
        "8h" => "8hours",
        "12h" => "12hours",
        "1d" => "1day",
        "3d" => "3days",
        "1w" => "1week",
        "1M" => "1month"
    ];

创建您的映射器类后,您可以在项目中按以下方式使用它们

    echo TimeMapper::mapData("1m");               --> result: 1 minute   (to map)
    echo TimeMapper::unmapData("12hours");        --> result: 12h        (to unmap)