3

どのバージョンがインストールされているかを確認できる 1 つのファイルが必要です。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 standardがあります:

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

問題const VERSIONは、5.3 より前の PHP には名前空間がないことです。したがって、さまざまなライブラリを含めると、あまり役に立ちません。autoload を使用していることを伝えるのはさらに難しく、それらが含まれている順序を実際に確認することはできません。

例えば:

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"

これで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

バージョン情報を int として保持することで、バージョン番号の違いを計算できます。

于 2009-03-22T08:53:45.233 に答える