ynloultratech /
graphql-bundle
| 1 | <?php |
||
| 2 | /******************************************************************************* |
||
| 3 | * This file is part of the GraphQL Bundle package. |
||
| 4 | * |
||
| 5 | * (c) YnloUltratech <[email protected]> |
||
| 6 | * |
||
| 7 | * For the full copyright and license information, please view the LICENSE |
||
| 8 | * file that was distributed with this source code. |
||
| 9 | ******************************************************************************/ |
||
| 10 | |||
| 11 | namespace Ynlo\GraphQLBundle\Resolver; |
||
| 12 | |||
| 13 | use Doctrine\ORM\EntityManager; |
||
| 14 | use Symfony\Component\DependencyInjection\ContainerAwareTrait; |
||
| 15 | use Symfony\Component\Form\FormBuilderInterface; |
||
| 16 | use Symfony\Component\Validator\Validator\ValidatorInterface; |
||
| 17 | use Ynlo\GraphQLBundle\Events\EventDispatcherAwareInterface; |
||
| 18 | use Ynlo\GraphQLBundle\Events\EventDispatcherAwareTrait; |
||
| 19 | use Ynlo\GraphQLBundle\Extension\ExtensionInterface; |
||
| 20 | use Ynlo\GraphQLBundle\Extension\ExtensionsAwareInterface; |
||
| 21 | |||
| 22 | /** |
||
| 23 | * AbstractResolver is a simple implementation of a Resolver. |
||
| 24 | * |
||
| 25 | * It provides methods to common features needed in resolvers. |
||
| 26 | */ |
||
| 27 | abstract class AbstractResolver implements ResolverInterface, ExtensionsAwareInterface, EventDispatcherAwareInterface |
||
| 28 | { |
||
| 29 | use ContainerAwareTrait; |
||
| 30 | use EventDispatcherAwareTrait; |
||
| 31 | |||
| 32 | /** |
||
| 33 | * @var ResolverContext |
||
| 34 | */ |
||
| 35 | protected $context; |
||
| 36 | |||
| 37 | /** |
||
| 38 | * @var ExtensionInterface[] |
||
| 39 | */ |
||
| 40 | protected $extensions = []; |
||
| 41 | |||
| 42 | /** |
||
| 43 | * {@inheritDoc} |
||
| 44 | */ |
||
| 45 | public function setExtensions($extensions) |
||
| 46 | { |
||
| 47 | $this->extensions = $extensions; |
||
| 48 | } |
||
| 49 | |||
| 50 | /** |
||
| 51 | * @return ResolverContext |
||
| 52 | */ |
||
| 53 | public function getContext(): ResolverContext |
||
| 54 | { |
||
| 55 | return $this->context; |
||
| 56 | } |
||
| 57 | |||
| 58 | /** |
||
| 59 | * @param ResolverContext $context |
||
| 60 | */ |
||
| 61 | public function setContext(ResolverContext $context) |
||
| 62 | { |
||
| 63 | $this->context = $context; |
||
| 64 | } |
||
| 65 | |||
| 66 | /** |
||
| 67 | * Gets a container service by its id. |
||
| 68 | * |
||
| 69 | * @param string $id The service id |
||
| 70 | * |
||
| 71 | * @return mixed The service |
||
| 72 | */ |
||
| 73 | protected function get($id) |
||
| 74 | { |
||
| 75 | return $this->container->get($id); |
||
| 76 | } |
||
| 77 | |||
| 78 | /** |
||
| 79 | * @return EntityManager |
||
| 80 | */ |
||
| 81 | protected function getManager(): EntityManager |
||
| 82 | { |
||
| 83 | return $this->get('doctrine')->getManager(); |
||
| 84 | } |
||
| 85 | |||
| 86 | /** |
||
| 87 | * @return ValidatorInterface |
||
| 88 | */ |
||
| 89 | protected function getValidator(): ValidatorInterface |
||
| 90 | { |
||
| 91 | return $this->get('validator'); |
||
|
0 ignored issues
–
show
Bug
Best Practice
introduced
by
Loading history...
|
|||
| 92 | } |
||
| 93 | |||
| 94 | /** |
||
| 95 | * Creates and returns a Form Builder instance from the type of the form. |
||
| 96 | * |
||
| 97 | * @param string $type The fully qualified class name of the form type |
||
| 98 | * @param mixed $data The initial data for the form |
||
| 99 | * @param array $options Options for the form |
||
| 100 | * |
||
| 101 | * @return FormBuilderInterface |
||
| 102 | */ |
||
| 103 | protected function createFormBuilder($type, $data = null, array $options = []) |
||
| 104 | { |
||
| 105 | return $this->container->get('form.factory')->createBuilder($type, $data, $options); |
||
| 106 | } |
||
| 107 | } |
||
| 108 |