it-bens/deqar-api-contracts

DEQAR API 模型作为进一步开发的合同。

dev-master 2022-01-02 15:53 UTC

This package is auto-updated.

Last update: 2024-09-29 06:08:43 UTC


README

Maintenance Status CI Status

DEQAR 的合同是什么?

DEQAR API 提供关于机构、国家、机构和报告的信息。这些合同是包含 DEQAR WebApi 返回的最小信息的模型的接口。

所有模型都作为接口提供,其中包含由获取器返回的一组值对象。模型之间也包含连接,这些连接不总是由 DEQAR 明确提供(但隐式提供)。没有描述更改模型状态的方法。如何实现这取决于如何使用这些模型。

目前并非所有数据都进行了映射。如果需要更多信息,模型将被扩展。

如何使用模型?

为了使用模型,它们必须按以下方式扩展

use ITB\DeqarApiContracts\Institution as DeqarInstitution;

class Institution implements DeqarInstitution {...}

如果数据应持久化,则可以添加创建或更新时间戳等属性。例如,可以使用 create 方法进行对象构造

class Institution extends DeqarInstitution 
{
    private DateTimeImmutable $created;
    private DateTimeImmutable $updated;
    
    public static function create(CreateInstitutionCommand $command): self
    {
        $institution = parent::create($command);
        $institution->created = new DateTimeImmutable();
        $institution->updated = clone $institution->created;
        
        return $institution;
    }
    
    public function getCreated(): DateTimeImmutable {...}
    public function getUpdated(): DateTimeImmutable {...}
}

贡献

我非常高兴软件开发社区像我一样热爱开源!♥

因此,我感谢每一个被打开的问题(最好是建设性的)和每个提供其他或更好的代码到这个包的 pull request。

你们都是惊人的!

特别感谢

该项目由欧洲质量保证注册处(EQAR)和欧盟资助,对此我非常感激!