
#ifdef HAVE_CONFIG_H
#include "../../ext_config.h"
#endif

#include <php.h>
#include "../../php_ext.h"
#include "../../ext.h"

#include <Zend/zend_exceptions.h>

#include "kernel/main.h"


/**
 * This file is part of the Phalcon Framework.
 *
 * (c) Phalcon Team <team@phalcon.io>
 *
 * For the full copyright and license information, please view the LICENSE.txt
 * file that was distributed with this source code.
 */
/**
 * Lazy loads, stores and exposes sanitizer objects
 */
ZEPHIR_INIT_CLASS(Phalcon_Filter_FilterInterface)
{
	ZEPHIR_REGISTER_INTERFACE(Phalcon\\Filter, FilterInterface, phalcon, filter_filterinterface, phalcon_filter_filterinterface_method_entry);

	return SUCCESS;
}

/**
 * Sanitizes a value with a specified single or set of sanitizers
 *
 * Array policy: when `$value` is an array and `$noRecursive` is `false`
 * (the default), each element is sanitized individually and an array is
 * returned - recursion is one level deep only. When `$noRecursive` is
 * `true`, the whole array is passed to the sanitizer as a single value.
 *
 * @param mixed $value
 * @param mixed $sanitizers
 * @param bool  $noRecursive
 *
 * @return mixed
 */
ZEPHIR_DOC_METHOD(Phalcon_Filter_FilterInterface, sanitize);
