2012-02-13 1 views
2
  • 저는 제가 구축 한 PHP 플랫폼을 가지고 있습니다.
  • 나는 각 프로젝트마다 그 프로젝트의 복사본을 사용한다.
  • 자산을 추가하고 자체 프로젝트로 각 프로젝트를 구성합니다.
  • 프로젝트를 구성하면 이 포함 된 일부 핵심 파일이 구성 기본값으로 변경됩니다.

라이브러리/플랫폼 자체의 코어 파일을 업데이트하고 해당 플랫폼을 사용하는 다른 모든 프로젝트에 대한 변경 사항을 알려주고 싶다면 최상의 접근 방법은 무엇입니까?여러 PHP 프로젝트에서 코어 파일을 동기화하는 가장 좋은 방법은 무엇입니까?

나는 이클립스에서 SVN 프로젝트로 각 프로젝트를 가지고 있다는 것을 주목할 가치가 있다고 생각한다.

UPDATED 세부 사항 :

  • 플랫폼은 AMFPHP 1.9에 기초한다.
  • AMFPHP에는 서비스 폴더가 있습니다.
  • 핵심 서비스를 구현 서비스와 함께 서비스 폴더에 넣어야하므로 "라이브러리"와 "응용 프로그램"을 완전히 분리 할 수 ​​없습니다.
  • 또한 기본 구성 파일은 "플랫폼"폴더 에 있어야하므로 쉽게 구성 파일을 배포 할 수 있지만 구성이 으로 변경되면 해당 파일도 "구현 특정"이됩니다.

특정 파일을 업데이트하도록 지정할 수있는 솔루션이 있습니까?

답변

3

svn : externals의 사용법을 살펴보십시오. 코어 라이브러리를 사용하여 각 보조 프로젝트를 외부 구성하십시오.

+0

정확히 내가 원하는 것은 아니지만, 이것은 매우 가깝고 다소 자동화 된 것입니다.이 어려운 상황에 대해 답변 할 수있는 좋은 답변이라고 생각합니다. –

2

훌륭한 질문입니다. 여기 제가 PHP 프레임 워크로이 문제를 해결 한 방법입니다.

모든 프로젝트 별 및 핵심 파일이 혼합되어 있고 프로젝트 코드가 산재 해있는 경우 핵심 코드를 모든 프로젝트로 업데이트하는 것이 정말 어려울 것입니다.

이 문제를 해결하는 가장 좋은 방법은 svn (또는 git 또는 다른 버전 관리 소프트웨어)에서 파일을 업데이트하는 것이 더 쉬운 방법입니다. 프로젝트 및 핵심 파일을 각자의 위치에 깔끔하게 정리하면 파일을 쉽게 업데이트 할 수 있습니다. . 명확하게 설명해 드리겠습니다.

이 디렉토리에 프레임 워크의 핵심 모든 파일을 넣어 :

/App/FrameworkName 

은 여기에서는 다른 프로젝트의 모든 변경되지 않습니다 핵심 클래스, 함수 및 다른 코드를 배치 할 수 있습니다.

그런 다음 모든 프로젝트 관련 내용, 설정이나 페이지로 이동 : 여기

/App/Project 

, 당신은 당신의 프로젝트가 사용하는 모든 데이터를 가지고있다.

이 시스템에서 플랫폼에 기능을 추가하면 svn 프레임 워크의 최신 버전이 /App/FrameworkName이되고 프로젝트에 최신 코드가 사용됩니다.

+0

이것은 좋은 시스템과 최소한 내 문제에 대한 부분적인 대답처럼 들립니다. –

0

내 프로그램은 대개 두 부분으로 구성됩니다. 핵심 프레임 워크 폴더 및 addon folders.my 프레임 워크 (내부적으로)는 모든 초기 작업을 수행 한 다음 추가 기능을 위해 addon을로드합니다.

예를 들어, 프레임 워크는 모든 사용자 인증을 처리하며, 추가 기능은 각 프로젝트에 필요한 추가 기능을 제공합니다.

그런 식으로, 나는 그들을 별도의 저장소에 보관할 수 있습니다. 프레임 워크를 체크 아웃하여 다른 프로젝트에 사용할 수 있습니다.