请求处理
@return array
163052
public function handle()
    {
        @ob_start();
        $ret = call_user_func_array([$this->di->get($this->module), $this->fun], $this->args);
        $out = ob_get_clean();
        ob_end_clean();

        return $this->packResult(['return' => $ret, 'output' => $out ?: '']);
    }
879157
public function get()
    {
        return [
            'type' => $this->operator,
            'left' => $this->leftExpression->get(),
            'right' => $this->rightExpression->get(),
            'file' => $this->file,
            'line' => $this->line,
            'char' => $this->char,
        ];
    }
170897
public function toArray()
    {
        return [
            'key'      => $this->key(),
            'name'     => $this->name(),
            'script'   => $this->script(),
            'dir'      => $this->direction(),
            'native'   => $this->native(),
            'regional' => $this->regional(),
        ];
    }
23882
public function asArray()
    {
        return [
            'id'        => $this->getId(),
            'className' => $this->getClassName(),
            'instance'  => $this->getInstance(),
            'arguments' => $this->getArguments(),
            'type'      => $this->getType(),
            'target'    => $this->getTarget(),
            'position'  => $this->getPosition(),
        ];
    }
818015
public function getAttributes(): array
    {
        if ($this->isLink === false) {
            return $this->attributes;
        } else {
            return array_merge(
                ['link' => $this->link],
                $this->attributes
            );
        }
    }
597709
public function getData() : ?array
     {
        $rtn = $this->data['data'];

        $rtn = json_decode($rtn, true);

        if ($rtn === false) {
            $rtn = null;
        }

        return $rtn;
     }
767348
public function get()
    {
        return [
            'type' => 'typeof',
            'left' => $this->leftOperand->get(),
            'file' => $this->file,
            'line' => $this->line,
            'char' => $this->char,
        ];
    }
1239708
public function result(): array
    {
        $sql = trim($this->sql);
        if (!$sql) {
            return ['', '', []];
        }

        //如果不是以WHERE开头,则,加上
        if (stripos($sql, 'WHERE') !== 0) {
            $sql = ' HAVING ' . $sql;
        }

        // 处理Prepare
        $prepare = trim($this->prepare);
        if (stripos($prepare, 'WHERE') !== 0) {
            $prepare = ' HAVING ' . $prepare;
        }

        // 返回三项
        return [$sql, $prepare, $this->param];
    }
228465
public function getEmails()
    {
        $entities = [];
        if ($this->entity->getEmails()) {
            foreach ($this->entity->getEmails() as $email) {
                $entities[] = $email;
            }
        }

        return $entities;
    }
141326
public function getPostParams()
    {
        if (is_array($this->postParams)) {
            return $this->postParams;
        }
        
        //$posts = $this->getParsedBody();  // 可能是 xml 对象
        if (($input = static::getPostInputInfo())) {
            $this->postParams = $input[1];
        } else {
            $this->postParams = $_POST;
        }
        
        return $this->postParams;
    }
941213
public function toArray() {

        return [
            'uid' => $this->uid,
            'method' => $this->method,
            'parameters' => $this->parameters,
            'special_types' => $this->special_types,
            'id' => $this->id
        ];

    }
695109
public function toArray()
    {
        return [
            'name'        => $this->name,
            'title'       => $this->title,
            'url'         => $this->url,
            'icon'        => $this->icon,
            'active'      => $this->isActive(),
            'children'    => $this->children->toArray(),
            'roles'       => $this->roles,
            'permissions' => $this->permissions,
        ];
    }
803260
public function getData()
    {
        $result = [
            'type' => $this->type,
        ];

        if (!empty($this->url)) {
            $result['url'] = $this->url;
        }

        if (!empty($this->attachment_id)) {
            $result['attachment_id'] = $this->attachment_id;
        }

        if (!empty($this->buttons)) {
            $result['buttons'] = [];

            foreach ($this->buttons as $btn) {
                $result['buttons'][] = $btn->getData();
            }
        }

        return $result;
    }
796887
public function getAttributes(): array
    {
        $attributes = [];
        if (null !== $this->from) {
            $attributes['from'] = $this->from->getTimestamp();
        }
        return $attributes;
    }
61470
public function getAll()
    {
        $result = [];

        foreach ($this->getData() as $key => $value) {
            $result[$key] = $this->get($key);
        }

        return $result;
    }
106949
public function parse()
    {
        if (!$this->checkToken()) {
            return $this->parseRet = array('code' => -1, 'message' => 'Token不正确');
        }

        $attrs = $this->xmlToArray($this->postData);
        if ($this->isEncrypted()) {
            $ret = $this->decryptMsg($attrs['Encrypt']);
            if ($ret['code'] !== 1) {
                return $this->parseRet = $ret;
            }
            $attrs = $this->xmlToArray($ret['xml']);
        }

        $this->attrs = $attrs;
        return $this->parseRet = array('code' => 1, 'message' => '解析成功');
    }
1342992
public function getParams()
    {
        $params = [];
        foreach ($this as $key => $value) {
            $pname = (string) ltrim(strtolower(preg_replace('/[A-Z]/', '_$0', $key)), '_');
            $params[$pname] = $value;
        }
        return $params;
    }