You are here

class NumberOfParameterFilter in Zircon Profile 8

Same name in this branch
  1. 8 vendor/zendframework/zend-hydrator/src/Filter/NumberOfParameterFilter.php \Zend\Hydrator\Filter\NumberOfParameterFilter
  2. 8 vendor/zendframework/zend-stdlib/src/Hydrator/Filter/NumberOfParameterFilter.php \Zend\Stdlib\Hydrator\Filter\NumberOfParameterFilter
Same name and namespace in other branches
  1. 8.0 vendor/zendframework/zend-hydrator/src/Filter/NumberOfParameterFilter.php \Zend\Hydrator\Filter\NumberOfParameterFilter

Hierarchy

Expanded class hierarchy of NumberOfParameterFilter

1 file declares its use of NumberOfParameterFilter
NumberOfParameterFilter.php in vendor/zendframework/zend-stdlib/src/Hydrator/Filter/NumberOfParameterFilter.php

File

vendor/zendframework/zend-hydrator/src/Filter/NumberOfParameterFilter.php, line 16

Namespace

Zend\Hydrator\Filter
View source
class NumberOfParameterFilter implements FilterInterface {

  /**
   * The number of parameters beeing accepted
   * @var int
   */
  protected $numberOfParameters = null;

  /**
   * @param int $numberOfParameters Number of accepted parameters
   */
  public function __construct($numberOfParameters = 0) {
    $this->numberOfParameters = (int) $numberOfParameters;
  }

  /**
   * @param string $property the name of the property
   * @return bool
   * @throws InvalidArgumentException
   */
  public function filter($property) {
    try {
      $reflectionMethod = new ReflectionMethod($property);
    } catch (ReflectionException $exception) {
      throw new InvalidArgumentException("Method {$property} doesn't exist");
    }
    return $reflectionMethod
      ->getNumberOfParameters() === $this->numberOfParameters;
  }

}

Members