当前位置: 首页>>代码示例>>PHP>>正文


PHP PEAR_PackageFile_v1::getExtends方法代码示例

本文整理汇总了PHP中PEAR_PackageFile_v1::getExtends方法的典型用法代码示例。如果您正苦于以下问题:PHP PEAR_PackageFile_v1::getExtends方法的具体用法?PHP PEAR_PackageFile_v1::getExtends怎么用?PHP PEAR_PackageFile_v1::getExtends使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在PEAR_PackageFile_v1的用法示例。


在下文中一共展示了PEAR_PackageFile_v1::getExtends方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。

示例1: validateVersion

 /**
  * @access protected
  */
 function validateVersion()
 {
     if ($this->_state != PEAR_VALIDATE_PACKAGING) {
         if (!$this->validVersion($this->_packagexml->getVersion())) {
             $this->_addFailure('version', 'Invalid version number "' . $this->_packagexml->getVersion() . '"');
         }
         return false;
     }
     $version = $this->_packagexml->getVersion();
     $versioncomponents = explode('.', $version);
     if (count($versioncomponents) != 3) {
         $this->_addWarning('version', 'A version number should have 3 decimals (x.y.z)');
         return true;
     }
     $name = $this->_packagexml->getPackage();
     // version must be based upon state
     switch ($this->_packagexml->getState()) {
         case 'snapshot':
             return true;
         case 'devel':
             if ($versioncomponents[0] . 'a' == '0a') {
                 return true;
             }
             if ($versioncomponents[0] == 0) {
                 $versioncomponents[0] = '0';
                 $this->_addWarning('version', 'version "' . $version . '" should be "' . implode('.', $versioncomponents) . '"');
             } else {
                 $this->_addWarning('version', 'packages with devel stability must be < version 1.0.0');
             }
             return true;
             break;
         case 'alpha':
         case 'beta':
             // check for a package that extends a package,
             // like Foo and Foo2
             if ($this->_state == PEAR_VALIDATE_PACKAGING) {
                 if (substr($versioncomponents[2], 1, 2) == 'rc') {
                     $this->_addFailure('version', 'Release Candidate versions ' . 'must have capital RC, not lower-case rc');
                     return false;
                 }
             }
             if (!$this->_packagexml->getExtends()) {
                 if ($versioncomponents[0] == '1') {
                     if ($versioncomponents[2][0] == '0') {
                         if ($versioncomponents[2] == '0') {
                             // version 1.*.0000
                             $this->_addWarning('version', 'version 1.' . $versioncomponents[1] . '.0 probably should not be alpha or beta');
                             return true;
                         } elseif (strlen($versioncomponents[2]) > 1) {
                             // version 1.*.0RC1 or 1.*.0beta24 etc.
                             return true;
                         } else {
                             // version 1.*.0
                             $this->_addWarning('version', 'version 1.' . $versioncomponents[1] . '.0 probably should not be alpha or beta');
                             return true;
                         }
                     } else {
                         $this->_addWarning('version', 'bugfix versions (1.3.x where x > 0) probably should ' . 'not be alpha or beta');
                         return true;
                     }
                 } elseif ($versioncomponents[0] != '0') {
                     $this->_addWarning('version', 'major versions greater than 1 are not allowed for packages ' . 'without an <extends> tag or an identical postfix (foo2 v2.0.0)');
                     return true;
                 }
                 if ($versioncomponents[0] . 'a' == '0a') {
                     return true;
                 }
                 if ($versioncomponents[0] == 0) {
                     $versioncomponents[0] = '0';
                     $this->_addWarning('version', 'version "' . $version . '" should be "' . implode('.', $versioncomponents) . '"');
                 }
             } else {
                 $vlen = strlen($versioncomponents[0] . '');
                 $majver = substr($name, strlen($name) - $vlen);
                 while ($majver && !is_numeric($majver[0])) {
                     $majver = substr($majver, 1);
                 }
                 if ($versioncomponents[0] != 0 && $majver != $versioncomponents[0]) {
                     $this->_addWarning('version', 'first version number "' . $versioncomponents[0] . '" must match the postfix of ' . 'package name "' . $name . '" (' . $majver . ')');
                     return true;
                 }
                 if ($versioncomponents[0] == $majver) {
                     if ($versioncomponents[2][0] == '0') {
                         if ($versioncomponents[2] == '0') {
                             // version 2.*.0000
                             $this->_addWarning('version', "version {$majver}." . $versioncomponents[1] . '.0 probably should not be alpha or beta');
                             return false;
                         } elseif (strlen($versioncomponents[2]) > 1) {
                             // version 2.*.0RC1 or 2.*.0beta24 etc.
                             return true;
                         } else {
                             // version 2.*.0
                             $this->_addWarning('version', "version {$majver}." . $versioncomponents[1] . '.0 cannot be alpha or beta');
                             return true;
                         }
                     } else {
                         $this->_addWarning('version', "bugfix versions ({$majver}.x.y where y > 0) should " . 'not be alpha or beta');
//.........这里部分代码省略.........
开发者ID:arkosoft,项目名称:S-Admin,代码行数:101,代码来源:Validate.php


注:本文中的PEAR_PackageFile_v1::getExtends方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。