You are here

FilterEnabledInterface.php in Zircon Profile 8.0

Namespace

Zend\Hydrator

File

vendor/zendframework/zend-hydrator/src/FilterEnabledInterface.php
View source
<?php

/**
 * Zend Framework (http://framework.zend.com/)
 *
 * @link      http://github.com/zendframework/zf2 for the canonical source repository
 * @copyright Copyright (c) 2005-2015 Zend Technologies USA Inc. (http://www.zend.com)
 * @license   http://framework.zend.com/license/new-bsd New BSD License
 */
namespace Zend\Hydrator;

interface FilterEnabledInterface extends Filter\FilterProviderInterface {

  /**
   * Add a new filter to take care of what needs to be hydrated.
   * To exclude e.g. the method getServiceLocator:
   *
   * <code>
   * $composite->addFilter(
   *     "servicelocator",
   *     function ($property) {
   *         list($class, $method) = explode('::', $property);
   *         if ($method === 'getServiceLocator') {
   *             return false;
   *         }
   *         return true;
   *     },
   *     FilterComposite::CONDITION_AND
   * );
   * </code>
   *
   * @param string $name Index in the composite
   * @param callable|Filter\FilterInterface $filter
   * @param int $condition
   * @return Filter\FilterComposite
   */
  public function addFilter($name, $filter, $condition = Filter\FilterComposite::CONDITION_OR);

  /**
   * Check whether a specific filter exists at key $name or not
   *
   * @param string $name Index in the composite
   * @return bool
   */
  public function hasFilter($name);

  /**
   * Remove a filter from the composition.
   * To not extract "has" methods, you simply need to unregister it
   *
   * <code>
   * $filterComposite->removeFilter('has');
   * </code>
   *
   * @param $name
   * @return Filter\FilterComposite
   */
  public function removeFilter($name);

}

Interfaces