2009-03-22 3 views
3

어떤 버전의 파일이 있는지 확인할 수있는 하나의 파일이 필요합니다. PHP 프로그램이므로 파일을 조사 할 수 있습니다. Zend Framework 또는 HTMLpurifier에서 버전 번호를 전혀 찾을 수 없기 때문에 표준화 된 장소가 있다면 생각하고있었습니다.소스 코드에 버전 번호를 넣을 수있는 표준 장소가 있습니까?

표준 위치가 없으면 Zend Framework 및 HTMLPurifier에 추가하여 설치되는 버전을 항상 알고 싶습니다. txt 파일을 업데이트해야 할 수도 있습니다.

EDIT : 매우 가까운 장래에 PHPundercontrol을 사용할 생각이지만 왜 Zend Frameworks 번호를 업데이트해야합니까? 새 버전을 업로드 한 사실을 어떻게 알 수 있습니까?

답변

2

나는 그것을 발견 ..

을 젠드 프레임 워크에서 그들은라는 파일이 젠드/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

방금 ​​입력 한 내용을 편집하여 phpundercontrol에 더 중요한 – Thomaschaaf

+0

이 더 중요 할 수 있습니다. 아마도 자신의 svn 릴리스 번호일까요? – benlumley

+0

ZF 릴리스 번호를 얻으려면 ZF 소스의 어느 곳에서나 제공되지 않는 경우 (해당 파일에 대해 구문 분석 할 수있는 일종의 변경 로그 파일이있을 수 있음) ZF 파일을 최신 버전으로 업그레이드하는 자동화 된 스크립트를 작성하고 이 시점에서 tar 파일 이름에서 버전 번호를 설정하십시오. – benlumley

0

내가하는 일은 내가 어디에 있든간에 프로그램과 함께 유지되는 설정 파일을 만드는 것입니다. 거기에는 MySQL 설정 정보와 암호 해시 및 프로젝트의 버전 정보와 같은 설정이 있습니다.

PHP의 소스 코드도 이런 방식으로 버전 정보를 저장합니다.

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

버전 정보를 int로 유지하면 버전 번호 간의 차이를 계산할 수 있습니다.

+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.

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

PHP

이제, 인쇄하는 VERSION해야 LIBA, libB 또는 libc의에서 한 수 없습니다.