/** * 比较 * 返回值小于0 表示 低于 $aTo 版本 * 返回值等于0 表示 两个版本相等 * 返回值大于0 表示 高于 $aTo 版本 * 仅比较 主版本、次版本、修正版本, 不对 内部版本、版本代号 进行比较 * * * @access public * @param $aTo Version * @return int */ public function compare(Version $aTo) { // 比较主版本 if ($this->primaryNumber() > $aTo->primaryNumber()) { return 1; } else { if ($this->primaryNumber() < $aTo->primaryNumber()) { return -1; } else { // 比较 次版本 if ($this->secondaryNumber() > $aTo->secondaryNumber()) { return 1; } else { if ($this->secondaryNumber() < $aTo->secondaryNumber()) { return -1; } else { // 比较修正版本 if ($this->modificatoryNumber() > $aTo->modificatoryNumber()) { return 1; } else { if ($this->modificatoryNumber() < $aTo->modificatoryNumber()) { return -1; } else { // 比较内部版本 if ($this->internalNumber() > $aTo->internalNumber()) { return 1; } else { if ($this->internalNumber() < $aTo->internalNumber()) { return -1; } else { return 0; } } } } } } } } }