phprest / phprest-service-request-filter
Phprest 请求过滤器服务。
dev-master
2015-06-29 10:29 UTC
Requires
- php: >=5.4.0
- phprest/phprest: dev-master
This package is not auto-updated.
Last update: 2024-09-14 15:48:33 UTC
README
描述
请求过滤器服务,能够通过
- 查询
- 排序
- 限制
- 偏移
组件
过滤中有3个主要组件
- 获取器
- 解析器
- 处理器
获取器
这是从请求中获取过滤键及其数据的方式。
解析器
这是分析获取到的过滤器的方式。
处理器
这是处理解析后的过滤器的。
例如:Orm 处理器
安装
通过 composer 安装。
{
"require": {
"phprest/phprest-service-request-filter": "@stable"
}
}
提示:您应该浏览 phprest/phprest-service-request-filter 页面来选择要使用的稳定版本,避免使用 @stable 元数据约束。
使用
配置
对于配置,您应该检查 Config 类。
注册
<?php use Phprest\Service\RequestFilter; # ... /** @var \Phprest\Application $app */ $app->registerService(new RequestFilter\Service(), new RequestFilter\Config()); # ...
从控制器访问
要从控制器访问您的服务,您应该使用服务的 Getter 特性。
<?php namespace App\Module\Controller; use Phprest\Service; class Index extends \Phprest\Util\Controller { use Service\RequestFilter\Getter; public function get(Request $request) { $this->serviceRequestFilter()->processQuery(...); } }
工具
Phprest 中的大多数服务都提供一些实用机制(辅助函数)。
对于工具,您应该检查 Util 类。
示例
使用 Orm 处理器。
<?php namespace App\Module\Controller; use Phprest\Service; use Doctrine\Common\Collections\Criteria; class Index extends \Phprest\Util\Controller { use Service\RequestFilter\Getter; use Service\RequestFilter\Util; public function getAll(Request $request) { $processor = new Service\RequestFilter\Processor\Orm(Criteria::create()); try { $this->serviceRequestFilter()->processQuery($request, $processor); $this->serviceRequestFilter()->processSort($request, $processor); } catch (\Exception $e) { throw new Exception\BadRequest(0, [$e->getMessage()]); } } }