Methods

Initializes a new instance of this class.

__construct() 

Add a new filter to take care of what needs to be hydrated.

addFilter(string $name, \Zend\Stdlib\Hydrator\callable | \Zend\Stdlib\Hydrator\Filter\FilterInterface $filter, int $condition) : \Zend\Stdlib\Hydrator\Filter\FilterComposite

To exclude e.g. the method getServiceLocator:

$composite->addFilter("servicelocator",
    function($property) {
        list($class, $method) = explode('::', $property);
        if ($method === 'getServiceLocator') {
            return false;
        }
        return true;
    }, FilterComposite::CONDITION_AND
);

Parameters

$name

string

Index in the composite

$filter

\Zend\Stdlib\Hydrator\callable\Zend\Stdlib\Hydrator\Filter\FilterInterface

$condition

int

Returns

Adds the given strategy under the given name.

addStrategy(string $name, \Zend\Stdlib\Hydrator\Strategy\StrategyInterface $strategy) : \Zend\Stdlib\Hydrator\HydratorInterface

Parameters

$name

string

The name of the strategy to register.

$strategy

\Zend\Stdlib\Hydrator\Strategy\StrategyInterface

The strategy to register.

Returns

Extract values from an object

extract(object $object) : array
Inherited

inherited_from \Zend\Stdlib\Hydrator\HydratorInterface::extract()

Parameters

$object

object

Returns

array

Converts a value for extraction.

extractValue(string $name, mixed $value) : mixed

If no strategy exists the plain value is returned.

Parameters

$name

string

The name of the strategy to use.

$value

mixed

The value that should be converted.

Returns

mixed

Gets the strategy with the given name.

getStrategy(string $name) : \Zend\Stdlib\Hydrator\Strategy\StrategyInterface

Parameters

$name

string

The name of the strategy to get.

Returns

Check whether a specific filter exists at key $name or not

hasFilter(string $name) : bool

Parameters

$name

string

Index in the composite

Returns

bool

Checks if the strategy with the given name exists.

hasStrategy(string $name) : bool

Parameters

$name

string

The name of the strategy to check for.

Returns

bool

Hydrate $object with the provided $data.

hydrate(array $data, object $object) : object
Inherited

inherited_from \Zend\Stdlib\Hydrator\HydratorInterface::hydrate()

Parameters

$data

array

$object

object

Returns

object

Converts a value for hydration.

hydrateValue(string $name, mixed $value) : mixed

If no strategy exists the plain value is returned.

Parameters

$name

string

The name of the strategy to use.

$value

mixed

The value that should be converted.

Returns

mixed

Remove a filter from the composition.

removeFilter($name) : \Zend\Stdlib\Hydrator\Filter\FilterComposite

To not extract "has" methods, you simply need to unregister it

$filterComposite->removeFilter('has');

Parameters

$name

Returns

Removes the strategy with the given name.

removeStrategy(string $name) : \Zend\Stdlib\Hydrator\HydratorInterface

Parameters

$name

string

The name of the strategy to remove.

Returns

 Properties

 

Composite to filter the methods, that need to be hydrated

$filterComposite : \Zend\Stdlib\Hydrator\Filter\FilterComposite

 

The list with strategies that this hydrator has.

$strategies : \ArrayObject