English 中文(简体)
有一个标准的地方放源代码的版本号?
原标题:
  • 时间:2009-03-22 08:42:13
  •  标签:

我想有一个文件,我可以检查安装的版本。一个PHP项目,这样你就可以查看文件。我在想如果有一个标准化的地方把它因为在Zend框架或HTMLpurifier我不能找到版本号。

我也想将它添加到Zend框架和HTMLPurifier如果没有标准位置所以我总是知道版本安装。需要更新一个txt文件将另一种替代方法。

EDIT: We are thinking of using PHPundercontrol in the very near future but why should it update the Zend Frameworks number? How should it know that I uploaded a new version of it?

最佳回答

我发现它. .

在Zend框架,他们有一个文件名为Zend /版本。php - > Zend_Version这个文件也有它的内部版本号:

const VERSION =  1.7.5 ;

HTMLPurifier它年代位于HTMLPurifier / HTMLPurifier.php

/** Version of HTML Purifier */
public $version =  3.3.0 ;

/** Constant with version of HTML Purifier */
const VERSION =  3.3.0 ;

我猜我我将添加到一个配置文件的版本。

问题回答

我将文本文件选项而不是在代码中。

如果你这样做,随着项目的进展,你可以更新其他工具,你可能会或可能不会开始使用你的项目(如:phpunderconstrol或部署系统)能够建立/更新这个数字,而无需风险这些文件接触实际的代码并可能导致错误。

当然,这一切都取决于你如何看待您的项目进展和你认为你是否会使用任何其他工具!

如果你考虑源文件,有< a href = " http://en.wikipedia.org/wiki/PHPDoc " rel = " nofollow noreferrer " > PHPDoc标准< / >:

/**
 * ...
 * @version  1.2.3
 */

<代码> const版本的问题> < /代码是PHP 5.3之前是没有名称空间。所以它并为你当你包括各种库。很难告诉你使用自动装载和t真的能确定顺序。

e.g:

index . php

include_once "libA.php"
if(needsB)
  include_once "libB.php"
...
print(VERSION)

libB.php

const VERSION= 1.2.3 
...
if(needsC)
  include_once "libC.php"

现在你可以t确保<代码> < /代码>你打印版本,一个从、libB或libC。

我所做的就是创建一个配置文件,保持与项目无论我在那里。我有设置MySQL配置信息和密码散列,也是项目的版本信息。

PHP的源代码也这样做,他们保存这样的版本信息。

// this is a guess of the var names by me btw
MAJOR_VERSION = 5
MINOR_VERSION = 2
FIX_VERSION = 6

通过保持版本信息作为整数可以calulcte版本号之间的区别。





相关问题
热门标签