GraphQL PHP types generator...
<?php$loader =require__DIR__.'/vendor/autoload.php';useGraphQL\Schema;useOverblog\GraphQLGenerator\Generator\TypeGenerator;useSymfony\Component\ExpressionLanguage\Expression;$configs = ['Character' => ['type' =>'interface','config' => ['description' =>newExpression('\'A character\' ~\' in the Star Wars Trilogy\''),'fields' => ['id' => ['type' =>'String!','description' =>'The id of the character.'],'name' => ['type' =>'String','description' =>'The name of the character.'],'friends' => ['type' =>'[Character]','description' =>'The friends of the character.'],'appearsIn' => ['type' =>'[Episode]','description' =>'Which movies they appear in.'], ],'resolveType' =>'Overblog\\GraphQLGenerator\\Tests\\Resolver::resolveType', ], ],/*...*/'Query' => ['type' =>'object','config' => ['description' =>'A humanoid creature in the Star Wars universe or a faction in the Star Wars saga.','fields' => ['hero' => ['type' =>'Character','args' => ['episode' => ['type' =>'Episode','description' =>'If omitted, returns the hero of the whole saga. If provided, returns the hero of that particular episode.', ], ],'resolve' => ['Overblog\\GraphQLGenerator\\Tests\\Resolver','getHero'], ], ], ],/*...*/ ],];$typeGenerator =newTypeGenerator('\\My\\Schema\\NP');$classesMap =$typeGenerator->generateClasses($configs,__DIR__ .'/cache/types');$loader->addClassMap($classesMap);$schema =newSchema(\My\Schema\NP\QueryType::getInstance());