zucchi/zucchi

Zend Framework 2 的 Zucchi 组件库

0.16 2016-07-22 14:42 UTC

This package is not auto-updated.

Last update: 2024-09-14 13:23:18 UTC


README

对 Zend Framework 2 的自定义扩展和添加

该库使用 PHP 5.4 特性

组件

  • 控制器 - 常见控制器功能
  • DateTime - 自定义日期/时间对象,具有预定义的 __toString
  • Debug - 调试工具
  • Event - 事件工具和特性
  • Form - 表单工厂,具有自定义注水
  • Image - 图像的通用表示
  • ServiceManager - 服务管理工具和特性
  • 特性 - 获取所有祖先特性的辅助工具
  • View - 自定义辅助工具和策略

请求解析特性

此特性引入了对查询字符串中参数的一致性解析,这些参数可以被适当的 Zucchi 查询构建器类消费

简单查询

?where[forename][value]=john
&where[forname][operator]=fuzzy

复杂嵌套 where 查询,没有显式字段定义

?where[mode]=and
&where[expressions][0][mode]=or
&where[expressions][0][forename][value]=john
&where[expressions][0][forename][operator]=fuzzy
&where[expressions][0][surname][value]=john
&where[expressions][0][surname][operator]=fuzzy
&where[expressions][0][expressions][0][mode]=and
&where[expressions][0][expressions][0][email][value]=john
&where[expressions][0][expressions][0][email][operator]=fuzzy
&where[expressions][0][expressions][0][username][value]=john
&where[expressions][0][expressions][0][username][operator]=fuzzy
&where[expressions][1][id][value][0]=1
&where[expressions][1][id][operator]=nin

复杂嵌套 where 查询,具有显式字段定义,允许使用 "mode" 和 "expressions" 作为字段

?where[mode]=and
&where[expressions][0][mode]=and
&where[expressions][0][fields][forename][value]=john
&where[expressions][0][fields][forename][operator]=fuzzy
&where[expressions][0][fields][mode][value]=active
&where[expressions][0][fields][surname][operator]=eq

可用的操作符和模式包括

    protected $requestOperators = array(
        'is'    => 'is',
        'eq'    => '=',
        'gt'    => '>',
        'gte'   => '>=',
        'lt'    => '<',
        'lte'   => '<=',
        'neq'   => '!=',
        'in'   => 'in',
        'nin'   => 'not in',
        'between' => 'between',
        'fuzzy' => 'like',
        'regex' => 'regexp',
    );

    protected $requestModes = array(
        'or' => 'or',
        'and' => 'and',
    );