2011-01-03 5 views
0

PHP 스크립트에 하드 코딩 된 약 30 개의 변수가 있으며이를 모두 제거하여 자신의 장소에 넣어야합니다. 궁금하네요, 그들을 상수, 전역으로 정의해야 클래스에 넣어, 별도의 파일이나 다른 것들에 던져.PHP에서 대량의 변수를 올바르게 정의하는 방법은 무엇입니까?

또한 정수 배열을 정의하는 방법에 대해 궁금합니다.

그럼 올바른 방법은 무엇이라고 생각하십니까?

답변

0

내가 이런 식으로 그것을 할 것 ...이처럼"상수 "를 액세스 할 수 있습니다 ". 우리가 작성한 더 큰 응용 프로그램의 여러에서

$constantsToDefine = array(
    'PORT' => 80, 
    'NUMBER_OF_LEGS' => 10 
); 
foreach ($constantsToDefine as $key => $value) { 
    define(strtoupper($key), $value); 
} 
0

완전히 무엇인지, 무엇을 나타내며, 무엇을 의미하는지에 달려 있습니다. 귀하의 질문이 너무 막연합니다.

상수 배열이나 배열 인 상수를 정의 할 수 없습니다.

+0

이것은 아마 당신이 구성 변수의 배열을 정의 할 수 있습니다 코멘트가 아닌 대답 ... – ircmaxell

+0

해야 고려할 수있는 나쁜 생각이 아니다. $ conf [ 'variable_name'], etc. ... –

+0

@ircmaxell : 아마 상수의 배열에서 질문의 일부에 대답했지만. –

0

이 변수는 무엇을 나타내는 지, 사용 위치, 사용 방법에 따라 다릅니다. 이 변수는 모두 관련이 있습니까?

정수 배열을 정의하는 한 가지 방법은 an array을 만드는 것입니다. 값을 덮어 쓸 수 있기 때문에이 배열은 실제로 "상수"가 아닙니다.

$constArr = array(
    "companyAddress" => "123 Fake St" , 
    "companyCity" => "Queens" , 
    "companyState" => "NY" , 
    "companyActive" => true 
); 

당신은 무엇을 당신이하려는 것은 상수의 배열을 정의하는 "경우

echo $constArr["companyAddress"]; 
0

, 우리는 하나 "포함"파일에 우리의 "상수"모든 변수를 넣어 다음 define 기능을 사용하여 정의했다. 그런 다음 다른 모든 페이지에 해당 파일을 포함하기 만하면됩니다.

예를 들어, 우리는 파일과 같이 보일 것 같습니다 그리고

define(CONSTANT_ONE, 1); 
define(CONSTANT_TWO, TRUE); 

을, 우리는 우리의 다른 스크립트의 상단에있는 것 require_once('includes.php');.

분명히 단일 파일에 모든 것을 배치하는 이점은 중앙 집중식 제어입니다.

1

일정은

를 오버라이드 (override)되지 않습니다 또는 parse_ini_file

+0

parse_ini_file을 사용하는 경우 결과에 캐시 메카니즘을 사용하는 것을 잊지 마십시오 (예 : Zend_Cache_Frontend_File). 각 요청에서 파일을 구문 분석하는 것은 상수를 설정하는 가장 빠른 방법이 아닙니다. – regilero

관련 문제