粒子/过滤器

无依赖的灵活且易于使用的过滤器库。

v1.5.2 2019-08-19 15:19 UTC

README

Travis-CI Packagist Packagist downloads Scrutinizer Scrutinizer

Particle\Filter 是一个非常小巧的过滤器库,拥有最简单、最易用的 API。

小规模使用示例

$f = new Particle\Filter\Filter;

$f->values(['user.first_name', 'user.last_name'])->trim()->lower()->upperFirst();
$f->value('newsletter')->bool();
$f->value('created_at')->defaults(date('Y-m-d'));
$f->all()->removeNull();

$result = $f->filter([
    'user' => [
        'first_name' => '  JOHN ',
        'middle_name' => null,
        'last_name' => ' DOE  ',
    ],
    'newsletter' => 'yes',
    'referral' => null,
]);

var_dump($result);
/**
 * array(3) {
 *     ["user"]=> array(2) {
 *         ["first_name"]=> string(4) "John"
 *         ["last_name"]=> string(3) "Doe"
 *     }
 *     ["newsletter"]=> bool(true)
 *     ["created_at"]=> string(10) "2015-12-10"
 * } 
 */

功能特性

  • 过滤值数组
  • 过滤后得到清洁的数组
  • 大量可用过滤器
  • 如果未提供,可以设置默认值
  • 可以过滤嵌套、重复的数组
  • 可以移除(空)值
  • 可以扩展过滤器以添加自定义过滤器规则

非功能特性

  • 易于编写(IDE 自动补全,便于开发)
  • 易于阅读(提高同行评审)
  • 完全文档化:[filter.particle-php.com](http://filter.particle-php.com)
  • 完全测试:[Scrutinizer](https://scrutinizer-ci.com/g/particle-php/Filter/?branch=master)
  • 无依赖

===

更多信息和高级使用示例请访问 [filter.particle-php.com](http://filter.particle-php.com)