Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Fetching contributors…

Cannot retrieve contributors at this time

121 lines (114 sloc) 5.321 kb
<?php
/**
* Zend Framework (http://framework.zend.com/)
*
* @link http://github.com/zendframework/zf2 for the canonical source repository
* @copyright Copyright (c) 2005-2012 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
* @package Zend_Filter
*/
namespace Zend\Filter;
use Zend\ServiceManager\AbstractPluginManager;
/**
* Plugin manager implementation for the filter chain.
*
* Enforces that filters retrieved are either callbacks or instances of
* FilterInterface. Additionally, it registers a number of default filters
* available, as well as aliases for them.
*
* @category Zend
* @package Zend_Filter
*/
class FilterPluginManager extends AbstractPluginManager
{
/**
* Default set of filters
*
* @var array
*/
protected $invokableClasses = array(
'alnum' => 'Zend\I18n\Filter\Alnum',
'alpha' => 'Zend\I18n\Filter\Alpha',
'basename' => 'Zend\Filter\BaseName',
'boolean' => 'Zend\Filter\Boolean',
'callback' => 'Zend\Filter\Callback',
'compress' => 'Zend\Filter\Compress',
'compressbz2' => 'Zend\Filter\Compress\Bz2',
'compressgz' => 'Zend\Filter\Compress\Gz',
'compresslzf' => 'Zend\Filter\Compress\Lzf',
'compressrar' => 'Zend\Filter\Compress\Rar',
'compresstar' => 'Zend\Filter\Compress\Tar',
'compresszip' => 'Zend\Filter\Compress\Zip',
'decompress' => 'Zend\Filter\Decompress',
'decrypt' => 'Zend\Filter\Decrypt',
'digits' => 'Zend\Filter\Digits',
'dir' => 'Zend\Filter\Dir',
'encrypt' => 'Zend\Filter\Encrypt',
'encryptblockcipher' => 'Zend\Filter\Encrypt\BlockCipher',
'encryptopenssl' => 'Zend\Filter\Encrypt\Openssl',
'filedecrypt' => 'Zend\Filter\File\Decrypt',
'fileencrypt' => 'Zend\Filter\File\Encrypt',
'filelowercase' => 'Zend\Filter\File\LowerCase',
'filerename' => 'Zend\Filter\File\Rename',
'fileuppercase' => 'Zend\Filter\File\UpperCase',
'htmlentities' => 'Zend\Filter\HtmlEntities',
'inflector' => 'Zend\Filter\Inflector',
'int' => 'Zend\Filter\Int',
'localizedtonormalized' => 'Zend\Filter\LocalizedToNormalized',
'normalizedtolocalized' => 'Zend\Filter\NormalizedToLocalized',
'null' => 'Zend\Filter\Null',
'numberformat' => 'Zend\I18n\Filter\NumberFormat',
'pregreplace' => 'Zend\Filter\PregReplace',
'realpath' => 'Zend\Filter\RealPath',
'stringtolower' => 'Zend\Filter\StringToLower',
'stringtoupper' => 'Zend\Filter\StringToUpper',
'stringtrim' => 'Zend\Filter\StringTrim',
'stripnewlines' => 'Zend\Filter\StripNewlines',
'striptags' => 'Zend\Filter\StripTags',
'urinormalize' => 'Zend\Filter\UriNormalize',
'wordcamelcasetodash' => 'Zend\Filter\Word\CamelCaseToDash',
'wordcamelcasetoseparator' => 'Zend\Filter\Word\CamelCaseToSeparator',
'wordcamelcasetounderscore' => 'Zend\Filter\Word\CamelCaseToUnderscore',
'worddashtocamelcase' => 'Zend\Filter\Word\DashToCamelCase',
'worddashtoseparator' => 'Zend\Filter\Word\DashToSeparator',
'worddashtounderscore' => 'Zend\Filter\Word\DashToUnderscore',
'wordseparatortocamelcase' => 'Zend\Filter\Word\SeparatorToCamelCase',
'wordseparatortodash' => 'Zend\Filter\Word\SeparatorToDash',
'wordseparatortoseparator' => 'Zend\Filter\Word\SeparatorToSeparator',
'wordunderscoretocamelcase' => 'Zend\Filter\Word\UnderscoreToCamelCase',
'wordunderscoretodash' => 'Zend\Filter\Word\UnderscoreToDash',
'wordunderscoretoseparator' => 'Zend\Filter\Word\UnderscoreToSeparator',
);
/**
* Whether or not to share by default; default to false
*
* @var bool
*/
protected $shareByDefault = false;
/**
* Validate the plugin
*
* Checks that the filter loaded is either a valid callback or an instance
* of FilterInterface.
*
* @param mixed $plugin
* @return void
* @throws Exception\RuntimeException if invalid
*/
public function validatePlugin($plugin)
{
if ($plugin instanceof FilterInterface) {
// we're okay
return;
}
if (is_callable($plugin)) {
// also okay
return;
}
throw new Exception\RuntimeException(sprintf(
'Plugin of type %s is invalid; must implement %s\FilterInterface or be callable',
(is_object($plugin) ? get_class($plugin) : gettype($plugin)),
__NAMESPACE__
));
}
}
Jump to Line
Something went wrong with that request. Please try again.