/** * @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; }
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()); }