2017-05-18 14 views
-1

여러 도메인/고객 전용 서버에 배포하려는 소프트웨어 패키지 (7k 파일)가 있습니다. 각 도메인마다 맞춤 설정이 필요합니다. 내가 어떻게 해야할지 생각할 수없는 것은 하나의 코드베이스를 사용하여 (릴리스 업데이트의 편의성) 고객 별 요구에 맞는 사용자 정의 파일을 추가하는 것입니다.PHP의 include 및 require 기능 변경?

는 EG 밖으로 상자의 파일 & 구조

: 클라이언트가 다른 사이트 맵 필요를 가지고

/software/admin/modules/sitemap/make-da-sitemap.php 

경우 나 수정 된 파일을 저장하려면 :

/customer/admin/modules/sitemap/make-da-sitemap.php 

인가 거기 방법을 포함하거나 모든 기본 파일을 처음으로 /customer/에있는 파일을 찾아 그것을 사용하는 경우, 기본값을 사용하지 않는 경우에 걸쳐 필요로 포함? 나는 이것을 overthinking인가? 제이의 요청에 따라

** 편집/바꿔 ** ... 난, PHP는 기능이 '필요', '포함' 'require_once를'을 사용하는 일부 PHP 소프트웨어가

.... 수천 시대의.

이러한 기능 중 하나를 사용하여 모든 코드 줄을 수정하고 싶지는 않습니다. 기본적으로 PHP는 정의 된 실제 경로를 사용하기 전에 함수의 경로에 대한 별도의 폴더를 확인하고 싶습니다. 거기에 파일이 있으면 실제 경로와 비교하여 사용하십시오.

진흙처럼 맑습니까? lol

+4

너무 많은 가능한 응답, 또는 좋은 답변이 형식에 대해 너무 긴 것 중 하나가 있습니다. 답변을 좁히거나 몇 단락에서 대답 할 수있는 문제를 찾아내는 세부 정보를 추가하십시오. 일반 포럼을 개발하기위한 개발 포럼 (아마도 [Quora] (http://www.quora.com/Computer-Programming))을 제안 해주십시오. 그런 다음/특정 코딩 문제가있는 경우 스택 오버플로로 돌아가서 도와 드리겠습니다. –

+1

포함될 파일 이름의 문자열은 변수가 될 수 있습니다. 검사를 수행하는 함수 호출을 작성하여 파일의 존재 여부에 따라 파일을 리턴 할 수도 있습니다. '(check_for_file ("whatever.php"));' –

+0

자동 로딩이 해결책입니다. 여기를보세요 http://stackoverflow.com/documentation/php/388/autoloading-primer#t=201705181853139839175 여기 http : /stackoverflow.com/documentation/php/504/classes-and-objects/13197/autoloading#t=201705181853173331801 – matiaslauriti

답변

0

INI conf 파일 (또는 JSON)을로드하거나 클래스 자체에 Loader p.ex 클래스를 만들고 포함하려는 파일의 시작 부분에 인스턴스를 추가합니다.

하거나 코드를합니다

if(file_exists('/customer/')) { 
$file = //put your path; 
}else{ 
$file = //default path 
} 

include $path;