> 백엔드 개발 > PHP 튜토리얼 > 接口方法如何写好

接口方法如何写好

WBOY
풀어 주다: 2016-06-23 13:01:27
원래의
941명이 탐색했습니다.

打算写这些接口提供给别人用,想到两种方法,不知道那种比较好呢

第一种方法接口,这种扩张比较麻烦,而且位置都固定

public function student($name, $age, $sex)
로그인 후 복사


第二种方法接口,写数组
public function student([''name"=>$name, “age”=>$age, "sex"=>$sex])
로그인 후 복사


请问那种比较好了


回复讨论(解决方案)

作为接口,当然是要明确的指明参数
总不能我随便弄个参数,就能有结果?

推荐第一种。
第二种使用方便,但如果团队合作很麻烦。

作为接口,当然是要明确的指明参数
总不能我随便弄个参数,就能有结果?



也是,最主要方法里面的Argument位置都固定死,不太友善。

其实 接口 就是对象间进行沟通的规范,没有规矩不成方圆嘛
你的第二方案也不是没有可取之处,但因约束性不强,需谨慎使用

推荐第一种。
第二种使用方便,但如果团队合作很麻烦。



但是方法的元素都需要加密判断,以防在传输过程中给修改,$params是个数组[$name,$sex,$age]
Yii::$app->siteApi->check($functionName, $params=[ ], Encryption::encrypt($params))
로그인 후 복사

我觉得看你需求吧,假设注册账号,邮箱、姓名和系统生成的userid,那么方法应该要
function register($user_id, $email, $name)

但如果是更新用户信息,而用户信息包括了非常多诸如电话、昵称、qq、学校、性别、爱好等等,而又可以支持单个字段更新,那么最好传数组了
function update_info($user_info)

第二种更好一些,容易兼容老版本,扩展性超强,适合不断迭代的系统

不好说,看情况了。
用第一种,规范
第二种的话,把数组换成对象:

//interfacepublic function student(Student $student);//classpublic function student(Student $student){    $this->student = $student;};//studentprotected $data = [    'name' => 'xxx',    'age' => '0',    'sex' => 0,];//geter//seter
로그인 후 복사

直接用数组没有限制不太好。没有限制有时候确实很方便,但东西多了,乱了。

楼上各位朋友的建议非常的好。

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
최신 이슈
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿