使用webonyx/graphql-php是Graphql的新功能。
使用类样式定义与graphql提供的语法来定义我的架构有什么好处?
我有一个使用类样式架构def的基本工作示例,如下所示:
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提供的语法来定义我的架构有什么好处?
答案 0 :(得分:0)
在我看来,Type语言样式更加紧凑和易读。我仍然必须了解如何使用该库为联合类型和接口编写解析器,无论如何,它们应该是等效的。