PHP 상수: 동적인 세계에서 변하지 않는 친구들

안녕하세요, 미래의 PHP 마법사 여러분! 오늘 우리는 PHP 상수의 흥미로운 세계로 뛰어들어 보겠습니다. 프로그래밍에 처음 도전하는 분이라도 걱정 마세요 - 이 여정에서 당신의 친절한 안내자로서, 여러분이 상수의 고수가 될 때까지 함께할게요!

PHP - Constants

상수란 무엇인가요?

먼저, 상수에 대해 이야기해 보겠습니다. 쿠키를 만들 때(음!)를 상상해 보세요. 레시피에는 항상 2컵의 밀가루가 필요하죠 - 그것은 변하지 않습니다. PHP에서 상수는 그 2컵의 밀가루와 같아요 - 프로그램 전체에서 변하지 않는 값들입니다.

PHP에서 유효하고 무效한 상수 이름 예시

이제 우리의 상수를 어떻게 이름을 지을지 살펴보겠습니다. 반려동물을 이름 지을 때와 같이, 몇 가지 규칙을 따라야 합니다!

유효한 상수 이름

define("MY_CONSTANT", 10);
define("_ANOTHER_CONSTANT", "Hello");
define("CONSTANT123", true);

이 이름들은 다음과 같은 이유로 유효합니다:

  1. 첫 글자는 문자나 밑줄로 시작합니다.
  2. 문자, 숫자, 밑줄만 포함할 수 있습니다.
  3. 대소문자를 구분합니다 (이후에 더 설명하겠습니다!)

무效한 상수 이름

define("123CONSTANT", 10); // 첫 글자는 숫자로 시작할 수 없습니다.
define("MY-CONSTANT", 20); // 하이픈을 사용할 수 없습니다.
define("$MYCONSTANT", 30); // dollor 기호를 사용할 수 없습니다.

이 이름들은 안 됩니다. 숫자로 시작하지 말고, 특수 문자(밑줄 제외)와 dollor 기호를 사용하지 마세요!

상수와 변수의 차이

이제 여러분은 "그냥 변수를 사용하지 않을까요?" 고민할 수도 있을 겁니다. 대단한 질문입니다! 그 차이를 알아보겠습니다:

// 변수
$myVariable = 10;
$myVariable = 20; // 이는 괜찮습니다. 변수는 변할 수 있습니다.

// 상수
define("MY_CONSTANT", 10);
// MY_CONSTANT = 20; // 이는 오류를 발생시킵니다!

차이를 보셨나요? 변수는 기분戒指처럼 변할 수 있습니다. 상수는 다이아몬드처럼 영원히 변하지 않습니다 (또는 스크립트가 끝날 때까지).

이름이 지정된 상수 정의

이제 손을 똘똘 띄고 상수를 몇 개 정의해 보겠습니다!

define("PI", 3.14159);
define("GREETING", "Hello, World!");
define("IS_AWESOME", true);

echo PI; // 출력: 3.14159
echo GREETING; // 출력: Hello, World!
echo IS_AWESOME; // 출력: 1 (true는 1로 표시됩니다)

이 예제에서 우리는 세 가지 상수를 정의했습니다: 숫자, 문자열, 그리고 루트. 주의해야 할 점은 우리가 dollor 기호를 사용하지 않고 상수를 사용하는 것입니다 - 이는 변수와의 중요한 차이점입니다!

constant() 함수 사용

때로는 변수에 저장된 상수 이름을 사용하고 싶을 때가 있습니다. 그때 constant() 함수가 유용하게 쓰입니다!

$constName = "PI";
echo constant($constName); // 출력: 3.14159

$greeting = "GREETING";
echo constant($greeting); // 출력: Hello, World!

마법의 지팡이처럼 변수 이름을 상수 값으로 변환시키는 것입니다!

defined() 함수 사용

그런데 우리가 상수가 정의되어 있는지 확실하지 않을 때가 어떻게 되는 걸까요? 그때 defined() 함수가 구조를 보여줍니다!

if (defined("PI")) {
echo "PI는 정의되었으며 그 값은 " . PI . "입니다";
} else {
echo "PI는 정의되지 않았습니다";
}
// 출력: PI는 정의되었으며 그 값은 3.14159입니다

if (defined("UNDEFINED_CONSTANT")) {
echo "이 문장은 출력되지 않습니다";
} else {
echo "UNDEFINED_CONSTANT는 정의되지 않았습니다";
}
// 출력: UNDEFINED_CONSTANT는 정의되지 않았습니다

이 함수는 탐정처럼 상수가 존재하는지 확인하고 참이나 거짓을 반환합니다.

상수 사용 최선의 방법

마지막으로, 상수를 프로처럼 사용하는 몇 가지 팁을 드리겠습니다:

  1. 상수 이름은 ALL_CAPS로 사용하세요. 필수는 아니지만, 코드가 더 읽기 쉬워집니다.
  2. 변하지 않는 값, 예를 들어 설정이나 수학 상수를 위해 상수를 사용하세요.
  3. 상수를 과도하게 사용하지 마세요 - 값이 변할 가능성이 있다면 변수를 사용하세요.

다음은 우리가 배운 방법의 간단한 표입니다:

방법 설명 예시
define() 이름이 지정된 상수를 정의합니다 define("MY_CONSTANT", 10);
constant() 상수의 값을检索합니다 echo constant("MY_CONSTANT");
defined() 상수가 정의되었는지 확인합니다 if (defined("MY_CONSTANT")) { ... }

그럼 이만입니다, 여러분! 이제 PHP 상수의 세계에 대해 잘 알고 계신 것입니다. 상수는 프로그래밍의 변화하는 세계에서 변하지 않는 친구들입니다. 항상 당신의 곁에 있고, 신뢰할 수 있습니다. 행복하게 코딩하세요, 상수가 항상 정의되기를 바랍니다!

Credits: Image by storyset