tag = arr2obj(array_merge((array) $this->tag, (array) self::$ext_tag)); # 合并附加tag, self::$ext_tag = ObjectInit(); $this->events = self::$ext_events; self::$ext_events = array(); } /** * 产生服务端应答 * @param Req $req * @param assoc Array $ret * @return \ResponseVo */ public static function ok($ret = null) { $resp = new Resp(); $resp->err = ErrCode::ok; $resp->result = $ret == null ? ObjectInit() : $ret; # 避免出现null $resp->ts = time(); $resp->tag = ObjectInit(); return $resp; } /** * * @param Req $req * @param int $err * @param string $msg 【可选】附加信息 * @return \ResponseVo */ public static function err($err, $msg = "") { $resp = new Resp(); $resp->err = $err; $resp->result = ObjectInit(); $resp->ts = time(); $resp->tag = ObjectInit(); self::addTag('errmsg', $msg); return $resp; } static $ext_events = array(); public static function AddEvent($name, $arg1, $arg2) { self::$ext_events[] = array( 'name' => $name, 'arg1' => $arg1, 'arg2' => $arg2 ); } static $ext_tag = null; /** * 向返回值添加附加数据 * @param string $name * @param any $value */ public static function addTag($name, $value) { if (null == self::$ext_tag) { self::$ext_tag = ObjectInit(); } self::$ext_tag->$name = $value; } }