Youshido\Tests\StarWars\Schema\StarWarsData::getHero PHP Method

getHero() static public method

static public getHero ( $episode ) : array
$episode
return array
    static function getHero($episode)
    {
        if ($episode === 5) {
            // Luke is the hero of Episode V.
            return self::luke();
        }
        // Artoo is the hero otherwise.
        return self::artoo();
    }

Usage Example

Example #1
0
 public function build($config)
 {
     $config->addField('hero', ['type' => new CharacterInterface(), 'args' => ['episode' => ['type' => new EpisodeEnum()]], 'resolve' => function ($root, $args) {
         return StarWarsData::getHero(isset($args['episode']) ? $args['episode'] : null);
     }])->addField(new Field(['name' => 'human', 'type' => new HumanType(), 'args' => ['id' => new IdType()], 'resolve' => function ($value = null, $args = []) {
         $humans = StarWarsData::humans();
         return isset($humans[$args['id']]) ? $humans[$args['id']] : null;
     }]))->addField(new Field(['name' => 'droid', 'type' => new DroidType(), 'args' => ['id' => new IdType()], 'resolve' => function ($value = null, $args = []) {
         $droids = StarWarsData::droids();
         return isset($droids[$args['id']]) ? $droids[$args['id']] : null;
     }]));
 }