zoukankan      html  css  js  c++  java
  • 个人PHP编码的Service层接口风格

    情景描述:

    一个商城网站,订单表 + 商品表 + 用户表 + 商品图片信息

    每次写出来的接口,

    太通用了 == 不好用 == 传N多个参数 == 看懂才能用  == 不如自己写

    功能单一 == 传递1个ID返回一堆的东西给我 == 好用 == 到处写接口 == 复用率低 == 加个SQL字段要改N个地方

    所以,本人决定以后还是这样写:

    获取单个信息的,不要join表成一个很大的SQL一次性查出来然后每个状态枚举写一遍,可以先获取订单信息 + 商品信息 + 用户信息,小SQL也可以防止阻塞 == 此处提供各个getById的接口

    获取列表的,不可能去除订单列表再foreach获取商品信息和用户信息,直接join表获取

    实例代码:

    <?php
    
    // PHP的接口风格
    
    // 商品
    class good{
        /**
         * 获取商品信息
         *
         * @param [int] good_id '1'
         * @return [arr] array('retcode' =>'响应码','data'=>'数据,一般为数组','msg'=>'提示信息,一般字符串')
         * @author Author
         * @since  2015年1月12日
         */ 
        public function getGoodInfo($good_id){
            // 校验参数
            // 各种枚举映射转换
            // 固定格式返回
        }
    
        /**
         * 获取多个商品信息
         *
         * @param [int] good_ids '1,2,3'
         * @return [arr] array('retcode' =>'响应码','data'=>'数据,一般为数组','msg'=>'提示信息,一般字符串')
         * @author Author
         * @since  2015年1月12日
         */ 
        public function getGoodList($good_ids){
            // 校验参数
            // 各种枚举映射转换
            // 固定格式返回
        }
    }
  • 相关阅读:
    jquery笔记
    css选择器
    Linq 巧用 Max,Sum
    Linq Aggregate
    Linq 对象的比较 Contains,Max
    Linq SelectMany 交叉连接
    JQ 标签相关知识
    C# HttpClient设置cookies的两种办法 (转发)
    使用 HttpClient 请求 Web Api
    MySQL 避免重复数据的批量插入与批量更新
  • 原文地址:https://www.cnblogs.com/xuweiqiang/p/11280087.html
Copyright © 2011-2022 走看看