Properties

$whatever

$whatever : mixed

接口参数

Type

mixed

$__apiIsServiceWhitelist

$__apiIsServiceWhitelist : boolean

Type

boolean — 是否为白名单服务

Methods

__set()

__set(string  $name, mixed  $value) 

设置规则解析后的接口参数

Parameters

string $name

接口参数名字

mixed $value

接口参数解析后的值

__get()

__get(string  $name) : mixed

获取规则解析后的接口参数

Parameters

string $name

接口参数名字

Throws

\PhalApi\PhalApi\Exception\InternalServerErrorException

获取未设置的接口参数时,返回500

Returns

mixed

init()

init() : null

初始化

主要完成的初始化工作有:

  • 1、[必须]按参数规则解析生成接口参数
  • 2、[可选]过滤器调用,如:签名验证
  • 3、[可选]用户身份验证

Returns

null

getApiRules()

getApiRules() : array

取接口参数规则

主要包括有:

  • 1、[固定]系统级的service参数
  • 2、应用级统一接口参数规则,在app.apiCommonRules中配置
  • 3、接口级通常参数规则,在子类的*中配置
  • 4、接口级当前操作参数规则

当规则有冲突时,以后面为准。另外,被请求的函数名和配置的下标都转成小写再进行匹配。

Returns

array

getRules()

getRules() : array

获取参数设置的规则

可由开发人员根据需要重载

Returns

array

tableList()

tableList() 

获取表格列表数据

createData()

createData() : integer

创建新数据

Returns

integer —

id 新纪录的ID

deleteData()

deleteData() 

根据ID删除数据

deleteDataIDs()

deleteDataIDs() 

批量删除

getData()

getData() : object|null

获取一条数据

Returns

object|null —

数据

updateData()

updateData() : integer|boolean

更新数据

Returns

integer|boolean —

updated_num 更新的数据条数,0表示无更新,1表示更新成功

checkRequestMethod()

checkRequestMethod() 

检测请求方式

根据接口方法@method注解,判断请求方式

Throws

\PhalApi\Exception\BadRequestException

createMemberValue()

createMemberValue() 

按参数规则解析生成接口参数

根据配置的参数规则,解析过滤,并将接口参数存放于类成员变量

getApiCommonRules()

getApiCommonRules() : array

获取应用参数设置的规则

默认情况下读取app.apiCommonRules配置,可根据需要进行重载

Returns

array

filterCheck()

filterCheck() 

过滤器调用

可由开发人员根据需要重载,以实现项目拦截处理,需要:

  • 1、实现Filter::check()接口
  • 2、注册的过滤器到DI()->filter


以下是一个简单的示例:

    class MyFilter implements Filter {

        public function check() {
            //TODO
        }
    }

 //在初始化文件 init.php 中注册过滤器
 DI()->filter = 'MyFilter';

Throws

\PhalApi\PhalApi\Exception\BadRequestException

当验证失败时,请抛出此异常,以返回400

userCheck()

userCheck() 

用户身份验证 - 为保护接口不受外部非法调用,接口子类必须明确重载此方法,进行用户身份验证 - 如果确实不需要进行身份验证,重载后可进行空操作

可由开发人员根据需要重载,此通用操作一般可以使用委托或者放置在应用接口基类

Throws

\PhalApi\Api\PhalApi\Exception\BadRequestException

当验证失败时,请抛出此异常,以返回400

isServiceWhitelist()

isServiceWhitelist() : boolean

是否为白名单的服务

Returns

boolean

getDataModel()

getDataModel() : \PhalApi\Api\PhalApi\Model\DataModel

获取数据模型实例 - 接口子类必须实现此方法,返回继承于PhalApi\Model\DataModel的Model数据模型子类

Throws

\PhalApi\Api\PhalApi\Exception\InternalServerErrorException

Returns

\PhalApi\Api\PhalApi\Model\DataModel

getTableListSelect()

getTableListSelect() 

getTableListOrder()

getTableListOrder() 

getTableListWhere()

getTableListWhere(  $where) 

Parameters

$where

afterTableList()

afterTableList(  $items) 

Parameters

$items

createDataRequireKeys()

createDataRequireKeys() 

createDataExcludeKeys()

createDataExcludeKeys() 

beforeCreateData()

beforeCreateData(  $newData) 

Parameters

$newData

getDeleteDataWhere()

getDeleteDataWhere(  $where) 

Parameters

$where

getDataSelect()

getDataSelect() 

getGetDataWhere()

getGetDataWhere(  $where) 

Parameters

$where

afterGetData()

afterGetData(  $data) 

Parameters

$data

updateDataRequireKeys()

updateDataRequireKeys() 

updateDataExcludeKeys()

updateDataExcludeKeys() 

getUpdateDataWhere()

getUpdateDataWhere(  $where) 

Parameters

$where

beforeUpdateData()

beforeUpdateData(  $updateData) 

Parameters

$updateData

returnDataResult()

returnDataResult(array|mixed  $result) : array|mixed

返回数据结果 - 方便统一进行加工再处理

Parameters

array|mixed $result

等返回的数据结果

Returns

array|mixed —

加工后的数据结果

equalOrIngore()

equalOrIngore(string  $str, string  $cfg) : boolean

相等或忽略

Parameters

string $str

等判断的字符串

string $cfg

规则配置,*号表示通配

Returns

boolean