/**
  * @param array|\Traversable $options
  *
  * @return Hydrator\ClassMethods
  * @throws \Zend\Stdlib\Exception\InvalidArgumentException
  */
 public function setOptions($options)
 {
     parent::setOptions($options);
     if (array_key_exists('excluded_methods', $options) && is_array($options['excluded_methods'])) {
         $filters = [];
         foreach ($options['excluded_methods'] as $methodName) {
             $methodName = (string) $methodName;
             $filters[] = new Hydrator\Filter\MethodMatchFilter($methodName);
         }
         $this->getFilter()->addFilter('excludedMethods', new Hydrator\Filter\FilterComposite([], $filters), Hydrator\Filter\FilterComposite::CONDITION_AND);
     }
     return $this;
 }
Example #2
0
 public function testHydratorClassMethodsOptions()
 {
     $hydrator = new ClassMethods();
     $this->assertTrue($hydrator->getUnderscoreSeparatedKeys());
     $hydrator->setOptions(array('underscoreSeparatedKeys' => false));
     $this->assertFalse($hydrator->getUnderscoreSeparatedKeys());
     $hydrator->setUnderscoreSeparatedKeys(true);
     $this->assertTrue($hydrator->getUnderscoreSeparatedKeys());
 }