inpsyde / filter
Inpsyde Filter library.
Requires
- php: >=5.5.0
Requires (Dev)
- php: >=5.5.0
- brain/monkey: ~1.0
- mockery/mockery: ~0.9
- phpunit/phpunit: ~4.8|~5.1
This package is auto-updated.
Last update: 2024-12-05 15:05:43 UTC
README
This package provides a collection of filters for WordPress.
Contents
Installation
$ composer require --dev [--prefer-dist] inpsyde/filter
Usage
Each filter filters a value with a given configuration.
$filter = new Inpsyde\Filter\DateTime(); $value = $filter->filter( '21.06.1987' ); // converts to: 1987-06-21
Changing Options
Some filters are having additional options which can be overwritten in constructor.
$options = [ 'format' => 'd.m.Y' ]; $filter = new Inpsyde\Filter\DateTime( $options ); $value = $filter->filter( '1987-06-21' ); // 21.06.1987
Available Filters
Following basic filters are available:
ArrayValue
DateTime
In addition, there are filters which are wrappers for well known WordPress-functions:
WordPress\Absint
WordPress\AutoP
WordPress\EscHtml
WordPress\EscUrlRaw
WordPress\NormalizeWhitespace
WordPress\RemoveAccents
WordPress\SanitizeFileName
WordPress\SanitizeKey
WordPress\SanitizePostField
WordPress\SanitizeTextField
WordPress\SanitizeTitle
WordPress\SanitizeTitleWithDashes
WordPress\SanitizeUser
WordPress\SpecialChars
WordPress\StripTags
WordPress\Unslash
Create your own Filter
File My\Own\Filter\YourFilter.php
namespace My\Own\Filter; use Inpsyde\Filter\AbstractFilter; class YourFilter extends AbstractFilter { /** * Optional: set some options, which can be overwritten by constructor. * @var array */ protected $options = [ 'key' => 'value' ]; /** * {@inheritdoc} */ public function filter( $value ) { // do something return $value; } }
Usage
// Optional: set "new value" to Filter. $options = [ 'key' => 'new value' ]; $filter = new YourFilter( $options ); $value = $filter->filter( 'my value' );
Factory
The library comes with a FilterFactory
which allows you to create instances of new filters.
$factory = new \Inpsyde\Filter\FilterFactory(); $filter = $factory->create( 'DateTime' ); // returns instance of \Inpsyde\Filter\DateTime
The factory is also able to create instances of external classes, if they implement the \Inpsyde\Filter\FilterInterface
:
$factory = new \Inpsyde\Filter\FilterFactory(); $filter = $factory->create( My\Own\Filter\YourFilter::class ); // Creates an instance of your own filter.
Other Notes
Bugs, technical hints or contribute
Please give us feedback, contribute and file technical bugs on GitHub Repo.
License
This repository is a free software, and is released under the terms of the GNU General Public License version 2 or (at your option) any later version. See LICENSE for complete license.
Changelog
See commits or read short version.