- 1、本文档共13页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
参数规则:接⼜参数规则配置
“播下⼀种思想,收获⼀种⾏为;播下⼀种⾏为,收获⼀种习惯;播下⼀种习惯,收
获⼀种性格;播下⼀种性格,收获⼀种命运。” -- 《成君忆:⽔煮三国》
1.12.1 参数解析
参数, 于接⼜来说,是⾮常重要的输⼊。 于外部调⽤来说,同等重要。
因此, 于参数这块,我们是希望能够既减轻后台开发 接⼜参数获取、判断、验
证、⽂档编写的痛苦;又便于客户端⽅便的、⾃由的调⽤;既利已又利他。
由此,我们引⼊了 参数解析 这⼀概念,即:通过配置参数的规则,即可⾃动实现参
数的获取和验证。
1.12.2 参数解析的配置规则
熟悉Yii的同学, 于以下的规则配置应该倍感亲切,但是不熟悉的同学也可以同样快
速上⼿。因为,你会慢慢发现,这样的规则很符合我们PHP开发的规范,如果没有,
我们继续努⼒改进。
格式如下:
array(
参数名 = array(name = 接⼝参数名称, type = 类型, de
... ...
)
1.12.3 ⽰例
(1)简单的⽰例
假设这样的业务场景,我们需要提供⼀个⽤户登录的接⼜,其中需要⽤户名和密码,
因此:
?php
class Api_User extends PhalApi_Api
public function getRules()
return array(
login = array(
username = array(name = username),
password = array(name = password),
),
);
}
public function login()
return array(username = $this-username, password =
}
}
当我们这样调⽤接⼜时:
/?service=User.Loginusername=testpassword=123456
就可以获取到需要的参数:
ret:0,data: username:test,password:123456},msg:
从中,可以很容易理解:参数规则需要统⼀配置在接⼜实现类⾥⾯的 getRules() 函
数,随后即可以通过类成员属性⽅式获取,如: $this-username 。
(2)更完善的⽰例
很多时候我们都会 ⽤户名和密码作⼀些验证,如是否必须、长度、最值,以及默认
值等。
继续上⾯的业务场景,我们登录下⽤户名和密码必须,且密码长度⾄少为6个字符,
则可以调整参数规则:
login = array(
username = array(name = username, require = true),
password = array(name = password, require = true,
),
尝试⼀下⾮法的参数请求,如⽆任何参数的情况下,访问/?service=User .Login ,返
回:
ret:400,data:[],msg:Illegal Param: wrong param: username
再尝试⼀下密码长不 的情况,访问/?
service=User .Loginusername=testpassword= 123 ,返回:
ret:400,data:[],msg:Illegal Param: password.len should =
1.12.4 三级参数
(1)系统参数
已被系统固定占有的参数,⽬前只有⼀个,即:service ,为需要调⽤的服务,类型为
字符串,格式为: . ,⾸字母不区分⼤⼩写,建议统⼀以⼤写开头。
以下是⼀些⽰例:
#推荐写法
/?service=User.GetBaseInfo
#正确写法 (开头⼩写)
/?service=user.getBaseInfo
#正确写法 (⽅法名⼩写,但类名只能开头⼩写,否则会导致linux系统下⽂件加载失 )
/?service=user.getbaseinfo
#错误写法 (缺少⽅法名)
/?service=Us
您可能关注的文档
最近下载
- 中医经方临床运用培训课件.ppt
- 汽车装配与调试技术课程标准.docx
- 毕业论文低频电涡流传感器测量电路设计.doc
- S2168001-社会计算导论-智算学部.pptx
- 《古建筑修缮工程施工规程》.pdf
- 对企业有利的劳动合同.docx
- 班主任带班育人方略《做有温度的班主任》宣讲演讲PPT课件.pptx
- 答案-国开电大(本科)《当代中国政治制度》在线形考(形考任务二)试题.docx
- 大学物理 II-(热学、振动和波、光学、量子)(北京交大)中国大学MOOC慕课 章节测验期末考试客观题答案.docx
- 【专项复习】2024年小学六年级下册小升初数学专题复习(8)比的性质求比值和化简比及比的应用(知识归纳+典例精析+拔高训练)(1).docx
文档评论(0)