영원한사랑

싱글로그인을 구현하기 위해 세션키를 주고 받는데,
$_COOKIE['PHPSESSID'] 값으로 주고 받았었습니다.
이것의 가장 큰 단점은,
새로 session_start() 해서 쿠키가 구워지면,
쿠키구운 프로세스내에서는 $_COOKIE 변수가 세팅되지 않는다는 것입니다.

session_start() 하고 echo SID 해 보면,
PHPSESSID=a00aije9rijoajodjflsadfj
가 나옵니다.

이건 상수기 때문에, 세팅되지 않을 일이 없습니다.
게다가 php.ini 에서 세션키 명을 PHPSESSID 가 아닌걸로 바꿔놔도
저 상수에는 알아서 지정되기 때문에, ini_get() 같은것을 사용하지 않아도 됩니다.


__FILE__, __LINE__ 등도 유용합니다.

<xmp>
<?php

print_r(get_defined_constants());

?>
</xmp>

이걸로 현재 정의된 상수를 알 수 있습니다.
php 바이너리 위치, int 최대값 등 좋은게 많이 보입니다.
__로 시작하는 특수 상수는 안나오네요.
그건 메뉴얼의 magic constants 에 있습니다.
디버깅시에 유용합니다.