inpsyde/filter

Inpsyde Filter 库。

1.1.0 2017-10-13 09:47 UTC

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

变更日志

查看 提交记录 或阅读 简短版本