thinkPHP5框架接口写法简单示例
本文实例讲述了thinkPHP5框架接口写法。分享给大家供大家参考,具体如下:
控制器
/** *添加收货地址 */ publicfunctionaddAddress(){ $post=$this->request->post(); //验证唯一规则:表名,字段名,排除主键值,主键名 $validate=new\think\Validate([ ['uid','require','用户id不能为空'], ['name','require|max:20','收件人不能为空'], ['mobile','require|length:11','手机号码不能为空'], ['province_id','require','省份不能为空'], ['city_id','require','城市不能为空'], ['district_id','require','县区不能为空'], ['detail','require|max:100','地址详情不能为空'], ],[ 'mobile.length'=>'手机号码格式不正确', 'name.max'=>'收件人不能超过20个字符', 'detail.max'=>'地址详情不能超过100个字符', ]); //验证部分数据合法性 if(!$validate->check($post)){ \Org\Response::show(400,'提交失败:'.$validate->getError()); } $user_id=$post['uid']; $name=$post['name']; $mobile=$post['mobile']; $province_id=$post['province_id']; $city_id=$post['city_id']; $district_id=$post['district_id']; $detail=$post['detail']; $is_address=model('address')->addAddress($user_id,$name,$mobile,$province_id,$city_id,$district_id,$detail); if($is_address){ \Org\Response::show(200,'access!'); }else{ \Org\Response::show(400,'添加失败!'); } }
model
where($map)->find(); } /** *@param$user_id用户id *@param$name收件人 *@param$mobile收件人手机号 *@param$province_id省行政id *@param$city_id城市行政id *@param$district_id县区行政id *@param$detail详细地址 */ publicfunctionaddAddress($user_id,$name,$mobile,$province_id,$city_id,$district_id,$detail){ $is_province=$this->adcodeGetOne($province_id); $is_city=$this->adcodeGetOne($city_id); $is_district=$this->adcodeGetOne($district_id); if(empty($is_province))\Org\Response::show(400,'无效省份!'); if(empty($is_city))\Org\Response::show(400,'无效城市!'); if(empty($is_district))\Org\Response::show(400,'无效县区!'); $time=time(); $data['province_id']=$province_id; $data['province']=$is_province['name']; $data['city_id']=$city_id; $data['city']=$is_city['name']; $data['district_id']=$district_id; $data['district']=$is_district['name']; $data['detail']=$detail; $data['mobile']=$mobile; $data['name']=$name; $data['user_id']=$user_id; $data['is_delete']=0; if($this->where($data)->field('id')->find())returntrue; $data['addtime']=$time; $data['update_time']=$time; if($this->insert($data)){ returntrue; }else{ returnfalse; } } }
Response
$code, 'message'=>$message, 'data'=>$data, ); if($type=='json'){ self::json($code,$message,$data); exit; }elseif($type=='array'){ var_dump($result); }elseif($type=='xml'){ self::xmlEncode($code,$message,$data); exit; }else{ //TODO } } /** *按json方式输出通信数据 *@paraminteger$code状态码 *@paramstring$message提示信息 *@paramarray$data数据 *returnstring */ publicstaticfunctionjson($code,$message='',$data=array()){ if(!is_numeric($code)){ return''; } $result=array( 'code'=>$code, 'message'=>urlencode($message), 'data'=>$data ); echourldecode(json_encode($result,JSON_UNESCAPED_UNICODE)); exit; } /** *按xml方式输出通信数据 *@paraminteger$code状态码 *@paramstring$message提示信息 *@paramarray$data数据 *returnstring */ publicstaticfunctionxmlEncode($code,$message,$data=array()){ if(!is_numeric($code)){ return''; } $result=array( 'code'=>$code, 'message'=>$message, 'data'=>$data, ); header("Content-Type:text/xml"); $xml="\n"; $xml.="\n"; $xml.=self::xmlToEncode($result); $xml.=" "; echo$xml; } publicstaticfunctionxmlToEncode($data){ $xml=$attr=""; foreach($dataas$key=>$value){ if(is_numeric($key)){ $attr="id='{$key}'"; $key="item"; } $xml.="<{$key}{$attr}>"; $xml.=is_array($value)?self::xmlToEncode($value):$value; $xml.="{$key}>\n"; } return$xml; } }
更多关于thinkPHP相关内容感兴趣的读者可查看本站专题:《ThinkPHP入门教程》、《thinkPHP模板操作技巧总结》、《ThinkPHP常用方法总结》、《codeigniter入门教程》、《CI(CodeIgniter)框架进阶教程》、《ZendFrameWork框架入门教程》及《PHP模板技术总结》。
希望本文所述对大家基于ThinkPHP框架的PHP程序设计有所帮助。
声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:czq8825#qq.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。