Esempio n. 1
0
 /**
  * 比较
  *  返回值小于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;
                                 }
                             }
                         }
                     }
                 }
             }
         }
     }
 }