src/Router.php
function locate(array $path, string $method) : bool {
        unset($this->params, $this->mRet);
        $this->method = $method;
        if (!isset($this->_tree[$method]))
            goto Err;
        $this->_pCall = &$this->_tree[$method];
        $this->_mPush();
        foreach ($path as $value) {
            if (isset($this->_pCall[$value]))
                $this->_pCall = &$this->_pCall[$value];
            elseif (isset($this->_pCall[self::_PARAMETER])) {
                $this->_pCall = &$this->_pCall[self::_PARAMETER];
                $this->params[$this->_pCall[self::_NAME]] = $value;
            } else goto Err;
            $this->_mPush();
        }
        Loop:
        if (isset($this->_pCall[self::_CALLBACK]))
            goto Success;
        if (isset($this->_pCall[self::_PARAMETER])) {
            $this->_pCall = &$this->_pCall[self::_PARAMETER];
            $this->params[$this->_pCall[self::_NAME]] = '';
            $this->_mPush();
            goto Loop;
        }
        Err:
        if (isset($this->_tree[$method][self::_404])) {
            $this->_pCall = &$this->_tree[$method][self::_404];
            $this->_mPush();
            goto Success;
        }
        return false;
        Success:
        $this->_call();
        return true;
    }
function locate(array $path, string $method) : bool {
        unset($this->params, $this->mRet);
        $this->method = $method;
        if (!isset($this->_tree[$method]))
            goto Err;
        $this->_pCall = &$this->_tree[$method];
        $this->_mPush();
        foreach ($path as $value) {
            if (isset($this->_pCall[$value]))
                $this->_pCall = &$this->_pCall[$value];
            elseif (isset($this->_pCall[self::_PARAMETER])) {
                $this->_pCall = &$this->_pCall[self::_PARAMETER];
                $this->params[$this->_pCall[self::_NAME]] = $value;
            } else goto Err;
            $this->_mPush();
        }
        Loop:
        if (isset($this->_pCall[self::_CALLBACK]))
            goto Success;
        if (isset($this->_pCall[self::_PARAMETER])) {
            $this->_pCall = &$this->_pCall[self::_PARAMETER];
            $this->params[$this->_pCall[self::_NAME]] = '';
            $this->_mPush();
            goto Loop;
        }
        Err:
        if (isset($this->_tree[$method][self::_404])) {
            $this->_pCall = &$this->_tree[$method][self::_404];
            $this->_mPush();
            goto Success;
        }
        return false;
        Success:
        $this->_call();
        return true;
    }
定位路由。该方法在收到请求后被调用

@param array $path
@param string $method
@return bool