3

我想要一个文件,我可以在其中检查安装了哪个版本。它是一个 PHP 程序,因此您可以查看文件。我在想是否有一个标准化的地方可以放置它,因为在 Zend Framework 或 HTMLpurifier 中我根本找不到版本号。

如果没有标准位置,我还想将它添加到 Zend Framework 和 HTMLPurifier 中,这样我总是知道安装了哪个版本。必须更新 txt 文件将是另一种选择..

编辑:我们正在考虑在不久的将来使用 PHPundercontrol,但为什么要更新 Zend Frameworks 编号?它怎么知道我上传了它的新版本?

4

4 回答 4

2

我会使用文本文件选项而不是代码。

如果您这样做,随着项目的进展,您可以更新您可能会或可能不会开始在项目中使用的其他工具(例如:phpunderconstrol 或部署系统),以便能够设置/更新此数字而不必冒险文件触及真实代码并可能导致错误。

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

于 2009-03-22T08:48:54.557 回答
2

我找到了..

在 Zend 框架中,他们有一个名为 Zend/Version.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';

我想我会将该版本添加到配置文件中。

于 2009-03-22T09:02:13.417 回答
1

如果您正在查看源文件,则有PHPDoc 标准

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

问题const VERSION在于 5.3 之前的 PHP 没有命名空间。因此,当您包含各种库时,它对您没有多大帮助。更难告诉您使用自动加载,并且无法确定它们包含的顺序。

例如:

索引.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"

现在您不能确定VERSION您打印的是哪一个,是来自 libA、libB 还是 libC。

于 2009-03-22T11:04:45.183 回答
0

我所做的是创建一个配置文件,无论我身在何处,它都与程序保持一致。我有 MySQL 配置信息和密码 HASH 以及项目的版本信息等设置。

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

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

通过将版本信息保留为整数,您可以计算版本号之间的差异。

于 2009-03-22T08:53:45.233 回答