inpsyde / filter
Inpsyde Filter 库。
1.1.0
2017-10-13 09:47 UTC
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-09-05 14:24:58 UTC
README
本包提供了一组适用于 WordPress 的过滤器。
内容
安装
$ composer require --dev [--prefer-dist] inpsyde/filter
用法
每个过滤器都使用给定的配置来过滤一个值。
$filter = new Inpsyde\Filter\DateTime(); $value = $filter->filter( '21.06.1987' ); // converts to: 1987-06-21
更改选项
一些过滤器有额外的选项,可以在构造函数中覆盖。
$options = [ 'format' => 'd.m.Y' ]; $filter = new Inpsyde\Filter\DateTime( $options ); $value = $filter->filter( '1987-06-21' ); // 21.06.1987
可用过滤器
以下是一些基本过滤器:
ArrayValue
DateTime
此外,还有一些过滤器是针对已知的 WordPress 函数的包装器
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
创建自己的过滤器
文件 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; } }
用法
// Optional: set "new value" to Filter. $options = [ 'key' => 'new value' ]; $filter = new YourFilter( $options ); $value = $filter->filter( 'my value' );
工厂
该库包含一个 FilterFactory
,允许您创建新过滤器的实例。
$factory = new \Inpsyde\Filter\FilterFactory(); $filter = $factory->create( 'DateTime' ); // returns instance of \Inpsyde\Filter\DateTime
如果外部类实现了 \Inpsyde\Filter\FilterInterface
,则工厂也可以创建这些类的实例。
$factory = new \Inpsyde\Filter\FilterFactory(); $filter = $factory->create( My\Own\Filter\YourFilter::class ); // Creates an instance of your own filter.
其他说明
错误、技术提示或贡献
请在 GitHub 仓库 上给我们反馈,贡献并提交技术错误。
许可证
本仓库是免费软件,根据 GNU 通用公共许可证第 2 版或(根据您的选择)任何更高版本发布。有关完整的许可证,请参阅 LICENSE。