본문 바로가기
소프트웨어 개발/PHP

[PHP 기초강좌] 상수 선언 ( constant declaration )

by 인생은즐겁게 2023. 2. 4.
반응형

1. 상수 ( constant )

 

 애플리케이션을 개발하다 보면 애플리케이션의 동작을 위한 설정값을 변경하고 싶지 않을 경우가 있습니다. 대부분 이러한 설정은 애플리케이션의 동작에 중요한 부분으로 작용할 수 있습니다. 그래서 이러한 값을 일반 변수와 차이점을 두고 변경하지 못하게 처리를 해야만 합니다. 이러한 부분을 해소하는 것이 상수를 선언하는 것입니다. 프로그래밍 언어에서 상수란 값을 한번 정의하면 변수와 대조적으로 그 이후에 변경이 불가능하게 선언하는 것입니다. 변수는 선언 이후 값을 지정을 하여도 변경하는 것이 가능한 반면 상수는 한번 값을 정의하면 변경할 수 없습니다. 상수의 이러한 성질 때문에 코드 전체에서 값이 동일하다는 것을 확인할 수 있기 때문에 코드 전체의 공통 설정으로 많이 활용합니다. 만약 상수라는 개념이 없고 변수만으로 개발이 된다면 설정값에 대해 신뢰할 수 없어 애플리케이션의 개발이 어려워 지거나 신뢰할 수 없는 결과물이 나올 것입니다.

 

2. 상수 선언 및 사용법

 

- PHP에서 상수 선언은 사전 정의된 define()이라는 내장 함수를 이용하여 상수를 선언합니다.

- 대소문자를 구분합니다. 

- 선언된 상수 호출 시 $ 기호 없이 호출 합니다.

- 상수명은 암묵적인 규칙으로 대문자로 선언합니다.

define( string $constant_name, mixed $value, bool $case_insensitive = false ): bool

 

$constant_name  문자열로 상수명 지정
$value - 상수에 저장할 값입니다.
- 모든 데이터 유형의 값을 허용합니다. PHP 7.0.0 이상부터 배열(Array) 타입을 허용합니다.
$case_insensitive  PHP 7.3.0 이상부터 더 이상 사용되지 않으며 PHP 8.0.0에서 제거됩니다. 기능은 제거 되었지만 파라미터 값은 남아 있어 여전히 허용됩니다.

 

사용 예1)

<?php

define("FOOD_ADD_MSG", 20);  

echo FOOD_ADD_MSG;
?>

<그림 1> 사용 예1 출력 결과

 

 

 아래 코드는 상수의 전역적 성질이 있다는 것을 보여주는 예제 코드입니다. make_food() 함수를 정의하고 그 함수에 FOOD_ADD_MSG 상수를 호출합니다.  함수에 대해서는 다음 강좌에서 자세하게 설명을 드리며 이번 강좌에서는 상수의 전역적인 성질이 있다는 것을 알려드리기 위해 예제를 준비를 하였습니다.

 

사용 예2)

<?php

define("FOOD_ADD_MSG", 20);  




function make_food()
{
    return FOOD_ADD_MSG;    
}

echo make_food();
?>

 

사용 예3)

 

배열 데이터 사용

<?php

define("FOOD_ADD_MSG", array('c1'=>'001','c2'=>'002'));  




function make_food()
{
    return FOOD_ADD_MSG;    
}

echo FOOD_ADD_MSG['c1']."<br/>";
echo FOOD_ADD_MSG['c2']."<br/>";
?>

<그림 2> 사용 예3 출력 결과

 

반응형

댓글