Resp.php 1.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182
  1. <?php
  2. namespace loyalsoft;
  3. /**
  4. * Description of ResponseVo
  5. * 服务端消息应答实体
  6. * @author jgao,gwang
  7. */
  8. class Resp extends Object_ext {
  9. /**
  10. * 错误码[成功为0]
  11. * @var int
  12. */
  13. public $err;
  14. /**
  15. * 执行结果
  16. * @var Object
  17. */
  18. public $result;
  19. /**
  20. * 时间戳
  21. * @var int
  22. */
  23. public $ts;
  24. /**
  25. * 标签[扩展用,保留]
  26. * @var object
  27. */
  28. public $tag;
  29. /**
  30. * 产生服务端应答
  31. * @param Req $req
  32. * @param assoc Array $ret
  33. * @return \ResponseVo
  34. */
  35. public static function ok($ret = null) {
  36. $resp = new Resp();
  37. $resp->err = ErrCode::ok;
  38. $resp->result = $ret == null ? ObjectInit() : $ret; # 避免出现null
  39. $resp->ts = time();
  40. $resp->tag = ObjectInit();
  41. return $resp;
  42. }
  43. /**
  44. *
  45. * @param Req $req
  46. * @param int $err
  47. * @param string $msg 【可选】附加信息
  48. * @return \ResponseVo
  49. */
  50. public static function err($err, $msg = "") {
  51. $resp = new Resp();
  52. $resp->err = $err;
  53. $resp->result = ObjectInit();
  54. $resp->ts = time();
  55. $resp->tag = ObjectInit();
  56. $resp->tag->errmsg = $msg;
  57. return $resp;
  58. }
  59. static $ext_tag = null;
  60. /**
  61. * 向返回值添加附加数据
  62. * @param string $name
  63. * @param any $value
  64. */
  65. public static function addTag($name, $value) {
  66. if (null == self::$ext_tag) {
  67. self::$ext_tag = ObjectInit();
  68. }
  69. self::$ext_tag->$name = $value;
  70. }
  71. }