초급 질문 ...PHP - 상수는 무엇입니까? 그들은 우수 사례입니까? 변수와 어떻게 다른가요?
define("$a",365);
과 $a = 365;
의 차이점은 무엇입니까?
감사합니다. JDelage
초급 질문 ...PHP - 상수는 무엇입니까? 그들은 우수 사례입니까? 변수와 어떻게 다른가요?
define("$a",365);
과 $a = 365;
의 차이점은 무엇입니까?
감사합니다. JDelage
당신이 define("YEAR",365);
상수를 정의 년은 항상 더 m 무엇을 365 수 없습니다 있도록 실행 시간 동안 그것을 변경할 수없는 경우
. 반면에 변수는 스크립트 실행 중에 값을 변경할 수 있으며 로컬 범위가 있으므로 선언 된 함수 파일에서 변수를 사용할 수 있습니다. 상수는 스크립트 전체에서 액세스 할 수있는 전역 범위가 있습니다.
http://php.net/manual/en/language.constants.php
http://planetozh.com/blog/2006/06/php-variables-vs-constants/
자바의 상수와 같아요. 나는 그것을 사용하지 않아도되어서, 그것이 무엇인지 알지 못했습니다. 감사. – JDelage
상수는 프로그램 실행 중에 변경되지 않는 값에 사용하기위한 것입니다. 그들은 메모리에 저장되지 않습니다.
나중에 파일의 맨 위에있는 상수로 변경 될 수있는 정적 매개 변수를 넣어 두는 것이 좋습니다. 필요한 경우 모든 항목을 찾고 대체하는 대신 찾을 수 있고 쉽게 변경할 수 있습니다.
또 하나 : 상수는 항상 CAPITAL_LETTERS 여야하므로 상수임을 알 수 있습니다.
결코 변경되지 않는 전역 액세스 가능 값을 원할 때 상수를 정의합니다. 예를 들어 웹 사이트 편집기에 대한 상수를 정의 할 수 있습니다. 이는 많은 페이지에 나타나야하며 회사에서 다른 웹 사이트 편집기를 사용하는 경우 변경해야하는 심각한 PITA입니다.
그래서,
define('WEBEDITOR','Tom Jones');
다음 출력 '톰 존스', 바로 에코 웹 에디터 필요 whereever.
변수는 바로 그 변수입니다. 그것은 바뀐다.
상수에는 변경할 수없는 값이 있습니다.
명명 된 상수는 일반적으로 컴파일 조건문의 경우를 제외하고 (대부분의 언어에 나쁜 관행으로 간주됩니다 - PHP를 사용하지 않고, 해석하고 - 또는이 보장되는 경우가 중앙에서 같은 위치 config 파일에서) 그래서 그것들을 과용하지 않는 것이 가장 좋으며 가능한 경우 class constants을 사용하십시오.
이 이유는 상수가 정의 된 곳을 판별하기가 더 어려워지고 이름 충돌을 피하기가 더 어려워지기 때문입니다.
그러나 구성 값에 상수를 사용하는 것은 허용됩니다. 한 지점에서 모든 것을 정의하는 한. 이것은 다른 서버에있을 수있는 대형 응용 프로그램에 필수적이며 서버가 무엇인지에 따라 달라지는 서버 특정 값의 호스트를 찾는 방법을 필요로합니다. 뭐든지간에, 당신은 그들을 오용 할 수 있습니다. 그러나 올바르게 사용하면 시간을 절약 할 수 있습니다. – DampeS8N
@ DampeS8N : 사실입니다. 나는 보통 나쁜 습관이라고 말하기 위해 편집 할 것이다. 나는 이것이 일반적인 개념이라고 생각한다. – webbiedave
그들은 전역이므로 나쁜 관행으로 간주됩니까? – JDelage
음, 명명 된 상수에 대해 이야기하고 있습니다. 예제에서는 이름을 제공하지 않습니다 ('$ a'가 정의되지 않았다고 가정). 아마도 당신은'define ('a', 365);을 의미 할 것입니다. – webbiedave