2011-03-28 3 views
1

(예컨대 사이트 이름 /하는 URL 등) 구성을 정의하는 변수PHP - 변수를 정의하는 다른 방법은 무엇입니까?

define('SITENAME', "My Site"); 

$sitename = "My Site"; 

방법 더 같이 변수를 정의의 차이는 무엇입니까? 감사합니다. .

+0

답변에 추가 할 변수는 전역 범위를 갖지만 변수는 기본적으로 그렇지 않습니다. –

답변

5

이것은 constant의 정의입니다 :

define('SITENAME', "My Site"); 

당신은 값을 변경할 수 없습니다, 당신은 참조하지 않습니다 접두사는 $입니다. 일반적으로 변수와 관련이 전혀 없습니다. 당신의 PHP 스크립트의 실행 중에 변화가 예상되지 않는 값에 대한

$sitename = "My Site"; 

(예를 들어, 일부 구성 매개 변수)가 상수를 정의하는 것이 더있을 수 있습니다 :이

는 변수입니다. 또한 상수에는 전역 범위가 있습니다 (만들 수 없으며 필요하지도 않습니다). global.

한편, 값 배열을 반복 할 수 있으므로 일련의 상수를 반복 할 수는 없습니다. 예를 들어 $config 배열을 전달할 수 없으며 미리 값을 알지 않고도 여러 값을 읽을 수 있습니다.

보통 상수 예를 들어, 응용 프로그램의 전체의 동작에 영향을 미칠 수있는 옵션에 사용되는 : 그들은 일반적으로 사용되도록

define('DEBUG', 1); 

를 다른 경우를 들어, 변수는 더 편리 경우에도 기술적으로 그 값을 응용 프로그램이 실행되는 동안 일정합니다.

0

"정의"기능은 변수를 정의하기위한 것이 아니라 상수를 정의하는 것입니다.

변수는 값을 변경할 수 있지만 상수는 코드를 통해 동일하게 유지됩니다.

3

전자는 상수를 정의하는 변수 후자의 정의이다. 전자는 런타임 동안 더 이상 변경할 수 없으며 (적어도 표준 설치에서는 아님), 후자는 변경할 수 있습니다.

따라서은 스크립트 실행 중에 변경되지 않으므로 구성에 더 적합 할 수 있습니다.

0

define은 CONSTANTS를 정의하는 데 사용됩니다. 변경 될 수없는 것.

두 번째 변수는 변수를 정의하는 데 사용됩니다. 프로그램을 만드는 가장 일반적인 방법입니다.

나의 expirience에서는 구성 설정을 정의하는 것이 상수를 사용하는 것이 더 좋으며 모든 구성 요소를 단일 구성 파일에 저장하여 간단한 액세스를 할 수 있습니다.

상세 정보 :

변수 : http://php.net/manual/en/language.variables.php 상수 : http://php.net/manual/en/language.constants.php

관련 문제