global 과 define 전역변수 사용
본문
그누보드 G5를 사용중입니다.
그런데 global 을 사용하는데 안먹히더군요.
혹시 그누보드에서 global 함수가 사용안되게 하였나요?
그래서 config.php를 살펴보다가 define 함수가 그누보드에서 많이 쓰이는 사실을 알고
define 으로 정의하였더니 잘 됩니다.
저는 글로벌이 더 편하고 가벼울꺼 같다는 생각을 하는데
디파인으로 프로그래밍을 그냥 해야하는지 모르겠네요.
경험자분 어떠신가요?
답변 1
상수(define)와 변수(global)의 차이인것 같습니다.
변수의 경우 배열을 넣을수 있지만 상수는 못넣기도 한것으로 알고있습니다.
혹여나 해서 설명을 덧붙힙니다.
상수는 변하지 않는 값이고
변수는 변하는 값입니다.
예를들어 도메인의 경우 www.abcd.com을 사용한다면 여기는 상수로 사용할 수 있겠죠
하지만 bo_table 값의 경우 gallery가 될수도, free가 될수도 있기때문에 변수를 사용합니다.
global이 사용된것 중 $board 를 print_r2($board)로 찍어보시면
그 게시판에 대한 데이터가 들어가있는것을 확인하실 수 있습니다.
$board['bo_subject']가
'자유게시판' 이라고 된 값이였는데 여기를 재할당 되면 값이 바뀔수있습니다.
echo $board['bo_subject'] //자유게시판
$board['bo_subject'] = '갤러리게시판';
echo $board['bo_subject']; // '갤러리게시판'
반면 상수는 값이 바꿀수 없습니다.
답변을 작성하시기 전에 로그인 해주세요.