\PhalApiRequest

Request 参数生成类 - 负责根据提供的参数规则,进行参数创建工作,并返回错误信息 - 需要与参数规则配合使用

Summary

Methods
Properties
Constants
__construct()
getHeader()
get()
getByRule()
getAll()
getService()
getNamespace()
getServiceApi()
getServiceAction()
No public properties found
No constants found
genData()
getAllHeaders()
getDataBySource()
$data
$get
$post
$request
$cookie
$headers
$namespace
$apiName
$actionName
N/A
No private methods found
No private properties found
N/A

Properties

$data

$data : array

Type

array — 主数据源,接口原始参数

$get

$get : array

Type

array — 备用数据源 $_GET

$post

$post : array

Type

array — 备用数据源 $_POST

$request

$request : array

Type

array — 备用数据源 $_REQUEST

$cookie

$cookie : array

Type

array — 备用数据源 $_COOKIE

$headers

$headers : array

Type

array — 备用数据源 请求头部信息

$namespace

$namespace : string

Type

string — 接口服务命名空间

$apiName

$apiName : string

Type

string — 接口服务类名

$actionName

$actionName : string

Type

string — 接口服务方法名

Methods

__construct()

__construct(array  $data = NULL) 

- 如果需要定制已知的数据源(即已有数据成员),则可重载此方法,例

class MyRequest extend Request{
    public function __construct($data = NULL) {
        parent::__construct($data);

        // json处理
        $this->post = json_decode(file_get_contents('php://input'), TRUE);

        // 普通xml处理
        $this->post = simplexml_load_string (
            file_get_contents('php://input'),
            'SimpleXMLElement',
            LIBXML_NOCDATA
        );
        $this->post = json_decode(json_encode($this->post), TRUE);
    }
}
  • 其他格式或其他xml可以自行写函数处理

Parameters

array $data

参数来源,可以为:$_GET/$_POST/$_REQUEST/自定义

getHeader()

getHeader(string  $key, mixed  $default = NULL) : string

获取请求Header参数

Parameters

string $key

Header-key值

mixed $default

默认值

Returns

string

get()

get(string  $key, mixed  $default = NULL) : mixed

直接获取接口参数

Parameters

string $key

接口参数名字

mixed $default

默认值

Returns

mixed

getByRule()

getByRule(  $rule) : mixed

根据规则获取参数 根据提供的参数规则,进行参数创建工作,并返回错误信息

Parameters

$rule

array('name' => '', 'type' => '', 'defalt' => ...) 参数规则

Throws

\PhalApi\Exception\BadRequestException
\PhalApi\Exception\InternalServerErrorException

Returns

mixed

getAll()

getAll() : array

获取全部接口参数

Returns

array

getService()

getService() : string

获取接口服务名称

  • 子类可重载此方法指定参数名称,以及默认接口服务
  • 需要转换为原始的接口服务格式,即:Namespace.Class.Action
  • 当命名空间为空时,默认使用App命名空间
  • 为保持兼容性,子类需兼容父类的实现
  • 参数名为:service,支持短参数名:s,并优先完全参数名

Returns

string —

接口服务名称,如:Default.Index

getNamespace()

getNamespace() : string

获取接口服务命名空间名字

Returns

string —

命名空间名字

getServiceApi()

getServiceApi() : string

获取接口服务名称中的接口类名

Returns

string —

接口类名

getServiceAction()

getServiceAction() : string

获取接口服务名称中的接口方法名

Returns

string —

接口方法名

genData()

genData(array  $data) : array

生成请求参数

  • 此生成过程便于项目根据不同的需要进行定制化参数的限制,如:如只允许接受POST数据,或者只接受GET方式的service参数,以及对称加密后的数据包等
  • 如果需要定制默认数据源,则可以重载此方法

Parameters

array $data

接口参数包

Returns

array

getAllHeaders()

getAllHeaders() : array|false

初始化请求Header头信息

Returns

array|false

getDataBySource()

getDataBySource(  $source) : array

根据来源标识获取数据集 ``` |----------|---------------------| | post | $_POST | | get | $_GET | | cookie | $_COOKIE | | server | $_SERVER | | request | $_REQUEST | | header | $_SERVER['HTTP_X'] | |----------|---------------------|


- 当需要添加扩展其他新的数据源时,可重载此方法

Parameters

$source

Throws

\PhalApi\Exception\InternalServerErrorException

Returns

array