it-bens / deqar-api-contracts
DEQAR API 模型作为进一步开发的合同。
dev-master
2022-01-02 15:53 UTC
Requires
- php: ^8.0
Requires (Dev)
- captainhook/plugin-composer: ^5.3
- phpstan/phpstan: ^1.0
- phpunit/phpunit: ^9.5
- roave/security-advisories: dev-latest
This package is auto-updated.
Last update: 2024-09-29 06:08:43 UTC
README
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)和欧盟资助,对此我非常感激!