묻고답하기
page_full_width" class="col-xs-12" |cond="$__Context->page_full_width">
외부페이지에 전역변수 사용할 수 있나요?
2011.02.16 16:54
외부페이지에서 전역 변수를 사용할 수 있나요?
php.net 에 있는 전역변수 예제입니다만, 외부페이지에서는 전혀 다른 결과가 나오네요.
결과가 3이 나와야 하는데, 2가 나옵니다. 즉 b 가 sum 에서 더해지지 않고, 그냥 b를 출력하고 있습니다.
그래서 xe 페이지가 아닌 일반 경로에서 출력해 보니, 3이 제대로 출력이 되는데 말입니다.
결론은 전역변수가 xe 외부 페이지에서 적용되지 않는다는건데...
xe 외부페이지에서 전역 변수를 사용하려면 특별한 규칙이나 다른 방법이 있는지 알고 싶어서 질문드립니다.
비슷한 경험 있으신분은 답변 부탁드립니다.
감사합니다.
php.net 에 있는 전역변수 예제입니다만, 외부페이지에서는 전혀 다른 결과가 나오네요.
<?php
$a = 1;$b = 2;function Sum(){global $a, $b;$b = $a + $b;}Sum();
echo $b;
?>
또는, 아래와 같이 전역변수를 사용해도 마찬가지 결과입니다.
$GLOBALS['b'] = $GLOBALS['a'] + $GLOBALS['b'];
결과가 3이 나와야 하는데, 2가 나옵니다. 즉 b 가 sum 에서 더해지지 않고, 그냥 b를 출력하고 있습니다.
그래서 xe 페이지가 아닌 일반 경로에서 출력해 보니, 3이 제대로 출력이 되는데 말입니다.
결론은 전역변수가 xe 외부 페이지에서 적용되지 않는다는건데...
xe 외부페이지에서 전역 변수를 사용하려면 특별한 규칙이나 다른 방법이 있는지 알고 싶어서 질문드립니다.
비슷한 경험 있으신분은 답변 부탁드립니다.
감사합니다.
댓글 2
-
라르게덴
2011.02.16 17:06
-
배워서남준다
2011.02.16 18:17
답변감사합니다. XE에서 global 선언이 안되는 모양이군요. 친절한 답변 감사드립니다. ㅅㅅ -
배워서남준다
2011.02.16 17:31
라르게덴님 감사합니다.
하지만, 마찬가지로 3이 나와야 하는데, 2가 나옵니다.
가장 기초적인것 같은데, 왜 잘 안될까요? ㅜ.ㅜ
예전에 개인적으로 간단하게 만들어서 잠깐 사용하던건데, XE 외부페이지에서 사용하고 싶어서 등록했는데 에러뜨고 해서 확인해 보니, 전역변수가 전혀 사용이 안되었습니다. 전역 변수가 안되면, 모두 새로 짜야해서 너무 번거로운데...
좋은 방법 없을까요?
------- 2011.02.16 17:46
그러네요. 해보니 안되네요.
일반 php에서는 되는데 템플릿상에서 해석될때 진행이 안되나 봅니다.
일단 아래와 같은 꼼수로 진행하시면 될 것 같아 다시 적을게요.
Context는 classes에 있는 core class 입니다.
말씀하시는 외부 매개변수나 여러 변수진행을 하실때 사용하는 내용이 많이 포함되어있으니 이걸 이용하시면 XE사용이 한층 더 편하실겁니다.