rootvalue.php 704 B

1234567891011121314151617181920212223242526272829303132333435
  1. <?php
  2. interface Resolver {
  3. public function resolve($root, $args, $context);
  4. }
  5. class Addition implements Resolver
  6. {
  7. public function resolve($root, $args, $context)
  8. {
  9. return $args['x'] + $args['y'];
  10. }
  11. }
  12. class Echoer implements Resolver
  13. {
  14. public function resolve($root, $args, $context)
  15. {
  16. return $root['prefix'].$args['message'];
  17. }
  18. }
  19. return [
  20. 'sum' => function($root, $args, $context) {
  21. $sum = new Addition();
  22. return $sum->resolve($root, $args, $context);
  23. },
  24. 'echo' => function($root, $args, $context) {
  25. $echo = new Echoer();
  26. return $echo->resolve($root, $args, $context);
  27. },
  28. 'prefix' => 'You said: ',
  29. ];