반응형
개발을 하다보면 변하지 않는 값이 필요한 경우가 있습니다.
예를 들어 사용자 ID 같은걸 사용해야 하는데, 중간에 값이 변한다면 유저가 바뀔 수도 있겠죠?
혹은 기본 URL을 저장해서 오타를 방지 할 수도 있구요.
이때 필요한게 define() 함수입니다.
상수란, 변하지 않는 값을 의미합니다. 반대로 변수는 값을 변경 할 수 있죠.
아래와 같이 사용합니다.
<?php
define('PLAYON', 'tistory.com');
?>
PLAYON이란 변수에 tistory.com 이란 변수를 넣었습니다.
이걸 사용하려면 아래 처럼 하면 됩니다.
<?php
define('PLAYON', 'tistory.com');
echo PLAYON; // tistory.com 출력됨
?>
define() 으로 정의 된 상수를 사용할 때에는 $ 표시는 필요 없습니다.
$playon = 'tistory.com'; 에서 변수를 출력하려면 echo $playon; 이지만,
바로 echo PLAYON; 해버리면 됩니다.
상수는 변하지 않는 값이라고 했는데 확인을 해 볼까요?
같은 상수이름으로 덮어 씌워보겠습니다.
<?php
define('PLAYON', 'tistory.com');
define('PLAYON', 'playon.tistory.com');
// Notice: Constant PLAYON already defined in ... on line 2
// tistory.com 출력
?>
같은 이름으로 덮어 썼더니 이미 있다는 표시가 나오고 뒤에 입력한 playon.tistory.com은 무시되었습니다.
Notice 에러는 꺼 두었었는데, 요즘엔 작은 에러도 모두 메세지 나오도록 설정하고 에러 하나씩 잡는 연습을 하고 있네요 🙄
그리고 상수가 설정됐는지 확인 해야 할 경우가 생기는데요. 아래처럼 확인 할 수 있습니다.
<?php
define('PLAYON', 'tistory.com');
if (defined('PLAYON')) {
echo '아 배고파!';
} else {
echo '아 배불러!';
}
// 아 배고파! 출력
?>
배가 고프니깐 맛난거 드세요~ 😋
반응형
'개발 > PHP' 카테고리의 다른 글
PHP setCookie 사용법(보안, secure, httponly) (0) | 2022.11.10 |
---|---|
Google reCAPTCHA v3 적용하기 (1) | 2019.07.04 |
비밀번호 암호화 확인 password_verity (1) | 2018.10.26 |
비밀번호 암호화 password_hash (0) | 2018.10.26 |
PHP 에러를 표시하기 (0) | 2017.06.12 |