コード例 #1
0
 /**
  * @param AbstractContext $context
  */
 protected function prepareContext(AbstractContext $context)
 {
     //defaults
     $context->setParsers([new StringParser(), new BooleanParser(), new IntegerParser(), new FloatParser(), new DateTimeParser(), new ArrayParser(), new ObjectParser($context)]);
     //add custom parsers
     foreach ($this->getParsers() as $parser) {
         if ($parser instanceof ValueParserInterface) {
             $context->prependParser($parser);
         }
     }
     //disable parsers
     foreach ($this->getDisabledParsers() as $disabledParser) {
         $actualParsers = $context->getParsers();
         if (array_key_exists($disabledParser, $actualParsers)) {
             unset($actualParsers[$disabledParser]);
         }
         $context->setParsers($actualParsers);
     }
 }