Graphql 新手,使用webonyx/graphql-php。
使用类样式定义与 graphql 提供的语法定义我的模式有什么好处?
我有一个使用类样式模式定义的基本工作示例,如下所示:
use MyApp\Type\MediaType;
use MyApp\TypeRegistry;
use GraphQL\Type\Definition\ObjectType;
use GraphQL\Type\Definition\Type;
class MusicType extends ObjectType {
public function __construct() {
$config = [
'fields' => [
'id' => Type::id(),
'name' => Type::String(),
'url' => Type::String(),
'dateStart' => Type::String(),
'dateEnd' => Type::String()
],
'interfaces' => [
TypeRegistry::media(),
TypeRegistry::dateRestricted(),
]
];
parent::__construct($config);
}
}
但是,我发现以这种方式定义架构很笨拙,我能看到的唯一真正好处是我可以在与架构相同的位置定义解析器。
使用 schema.graphqls 语法看起来更干净,并且更容易移植到其他服务器端语言......
type Music implements Media {
id: ID!
name: String!
url: String!
dateStart: String
dateEnd: String
}
使用类样式定义与 graphql 提供的语法定义我的模式有什么好处?