digiaonline / graphql-datetime-scalar
此包已 弃用 并不再维护。没有建议的替代包。
针对我们的 GraphQL 实现的日期、时间和 DateTime 原子类型
1.0.0
2018-09-22 11:23 UTC
Requires
- php: >=7.1
- digiaonline/graphql: *
Requires (Dev)
- digiaonline/graphql: dev-master#97cd9ff3720a6c0f57f917165ceedf4052be4cd3
- phpstan/phpstan: ^0.10.3
- phpunit/phpunit: ^7.3
This package is auto-updated.
Last update: 2023-03-12 21:37:48 UTC
README
针对我们的 GraphQL 实现的日期、时间和 DateTime 原子类型
介绍
大多数 GraphQL API 需要一种表示某种形式的日期、时间或时间戳的方式。由于 GraphQL 中没有原生的日期类型,人们不得不自己实现。为了减少需要编写的大量代码,这个库提供了一些基本的原子类型,应该可以覆盖大多数情况。
要求
- PHP >= 7.1
- digiaonline/graphql
使用
使用 Composer 安装库
composer require digiaonline/graphql-datetime-scalar
在配置你的可执行模式时,只需传递你需要的类型
$executableSchema = buildSchema($schemaDefinition, [ 'Query' => QueryResolver::class, 'Mutation' => MutationResolver::class, ], [ 'types' => [ new DateScalarType(), new TimeScalarType(), new DateTimeScalarType(), ], ]);
尽管不是严格必要的,但在你的模式中提及这些类型可能是个好主意
scalar Date scalar Time scalar DateTime
你可以通过传递一个格式字符串到构造函数来指定格式
$dateType = new DateScalarType('j.n.Y'); // 31.12.2018 $timeType = new TimeScalarType('H:i'); // 14:35 $dateTimeType = new DateTimeScalarType('U'); // 1537361927
与内置的原子类型一样,如果值无法正确序列化或解析到 \DateTimeInterface
,将抛出 \Digia\GraphQL\Error\InvalidTypeException
。
许可
MIT