class OptionalParametersFilter in Zircon Profile 8
Same name in this branch
- 8 vendor/zendframework/zend-hydrator/src/Filter/OptionalParametersFilter.php \Zend\Hydrator\Filter\OptionalParametersFilter
- 8 vendor/zendframework/zend-stdlib/src/Hydrator/Filter/OptionalParametersFilter.php \Zend\Stdlib\Hydrator\Filter\OptionalParametersFilter
Same name and namespace in other branches
- 8.0 vendor/zendframework/zend-hydrator/src/Filter/OptionalParametersFilter.php \Zend\Hydrator\Filter\OptionalParametersFilter
Filter that includes methods which have no parameters or only optional parameters
Hierarchy
- class \Zend\Hydrator\Filter\OptionalParametersFilter implements FilterInterface
Expanded class hierarchy of OptionalParametersFilter
1 file declares its use of OptionalParametersFilter
- OptionalParametersFilter.php in vendor/
zendframework/ zend-stdlib/ src/ Hydrator/ Filter/ OptionalParametersFilter.php
File
- vendor/
zendframework/ zend-hydrator/ src/ Filter/ OptionalParametersFilter.php, line 20
Namespace
Zend\Hydrator\FilterView source
class OptionalParametersFilter implements FilterInterface {
/**
* Map of methods already analyzed
* by {@see OptionalParametersFilter::filter()},
* cached for performance reasons
*
* @var bool[]
*/
protected static $propertiesCache = [];
/**
* {@inheritDoc}
*/
public function filter($property) {
if (isset(static::$propertiesCache[$property])) {
return static::$propertiesCache[$property];
}
try {
$reflectionMethod = new ReflectionMethod($property);
} catch (ReflectionException $exception) {
throw new InvalidArgumentException(sprintf('Method %s doesn\'t exist', $property));
}
$mandatoryParameters = array_filter($reflectionMethod
->getParameters(), function (ReflectionParameter $parameter) {
return !$parameter
->isOptional();
});
return static::$propertiesCache[$property] = empty($mandatoryParameters);
}
}
Members
Name | Modifiers | Type | Description | Overrides |
---|---|---|---|---|
OptionalParametersFilter:: |
protected static | property | Map of methods already analyzed by {cached for performance reasons | |
OptionalParametersFilter:: |
public | function |
Should return true, if the given filter
does not match Overrides FilterInterface:: |