2009-03-22 3 views
3

Я хочу иметь один файл, где я могу проверить, какая версия установлена. Это программа PHP, чтобы вы могли просматривать файлы. Я думал, есть ли стандартное место для его размещения, поскольку в Zend Framework или HTMLpurifier я не могу найти номер версии вообще.Есть ли стандартное место для размещения номера версии в исходном коде?

Я бы также хотел добавить его в Zend Framework и HTMLPurifier, если нет стандартного расположения, поэтому я всегда знаю, какая версия установлена. Необходимость обновления файла txt была бы другой альтернативой.

EDIT: Мы собираемся использовать PHPundercontrol в самом ближайшем будущем, но почему это должно обновить номер Zend Frameworks? Как узнать, что я загрузил новую версию?

ответ

2

Я нашел ..

в Zend Framework они есть файл с именем 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'; 

Я думаю, для моих я добавить версию в конфигурационный файл затем.

1

Я бы пошел с опцией текстового файла, а не в коде.

Если вы это сделаете, по мере продвижения вашего проекта вы можете обновить другие инструменты, которые вы можете или не можете использовать в своем проекте (например: phpunderconstrol или система развертывания), чтобы иметь возможность устанавливать/обновлять это число без чтобы рискнуть этими файлами, касающимися реального кода и потенциально вызывать ошибки.

Конечно, все зависит от того, как вы видите прогресс своего проекта и считаете ли вы, что когда-либо будете использовать какие-либо другие инструменты!

+0

Я только что редактировал свою запись, поэтому добавляет, что материал – Thomaschaaf

+0

более важен для phpundercontrol, вероятно, ваш собственный номер выпуска svn? – benlumley

+0

, чтобы получить номер выпуска ZF, если он не предоставлен нигде в источнике zf (вероятно, какой-то файл изменений, который вы могли бы проанализировать для него), вы всегда можете написать автоматический скрипт для обновления ZF-файлов до последней версии и установите номер версии в этой точке из имени файла tar. – benlumley

0

Что я делаю, это создать конфигурационный файл, который остается с программой, где бы я ни находился. Там у меня есть настройки, такие как информация о конфигурации MySQL и пароль HASH, а также информация о версии проекта.

Исходный код PHP делает это так же, они сохраняют информацию о версии, подобную этой.

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

Сохраняя информацию о версии как ints, вы можете определить разницу между номерами версий.

+0

, но где я найду номер версии в рамках? – Thomaschaaf

1

Если вы ищете в исходные файлы, есть PHPDoc standard:

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

Проблема const VERSION в том, что PHP до 5.3 является то, что нет пространства имен. Так что это не поможет вам, когда вы включаете различные библиотеки. Еще труднее сказать, что вы используете автозагрузку и не можете быть уверены в том, в каком порядке они включены.

например:

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 печати, то один из Либа, libB или LibC.