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;
?>
아래 코드는 상수의 전역적 성질이 있다는 것을 보여주는 예제 코드입니다. 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/>";
?>
'소프트웨어 개발 > PHP' 카테고리의 다른 글
[PHP 기초강좌] 연산자 - 산술 연산자 우선순위 (0) | 2023.02.06 |
---|---|
[PHP 기초강좌] 연산자 - 산술 연산자 (0) | 2023.02.06 |
[PHP 기초강좌] PHP 데이터 유형 (PHP Data Types) (0) | 2023.02.04 |
[PHP 기초강좌] PHP 출력 echo, print (0) | 2023.02.02 |
[PHP 기초강좌] 변수 선언 ( variable declaration ) (0) | 2023.02.02 |
댓글