묻고답하기
page_full_width" class="col-xs-12" |cond="$__Context->page_full_width">
<? $tmp_page = $page; $page=$page.".php"; include"http://XX.com/html/$page?page=$tmp_page" ?>
위 구문을 다시봐두 이해가 잘 되질 않아서염~
앞에 $tmp_page에 $page를 대입시키고,
$page=$page."php"를 대입시키고
인쿠르드 "http://XX.com/html/$page?page=$tmp_page" 시킨다.??
제로보드의 예를 들자면 "http://XX.com/html/zboard.php?id=getbook"과 같은것인데
이게 어떻게 이렇게 인식하는지...
http://XX.com/html/$page?page=$tmp_page
http://XX.com/html/zboard.php?id=getbook
다시보면
첫째, $page가 zboard.php로
둘째, page가 id로
셋째, $tmp_page가 getbook으로 변했는데염~
---------------------------------------------------------------------------------------------
!!!!!여기서 문제제기
----------------------------------------------------------------------------------------------
첫째는 쫌 이해가 되는데...둘째는 전혀 이해가 안되고, 셋째는 인쿠르드하기전에 $page=$tmp_page가 같다고했으니깐 똑같이 zboard가 들어가야하는거아닌지요?? 혹시 순서가 인쿠르드구문을 먼저 읽고 변수를 대입하는건가염?!
그리고 page라는 변수를 중복하여 사용하였는데 굳이 이렇게 할 필요가 있는건지...도
궁금합니다.
-------------------------------------------------------------------------------------------------
이구문이 이해가 안됩니다 설명좀 부탁드립니다.
2003.12.15 11:19
<? $tmp_page = $page; $page=$page.".php"; include"http://XX.com/html/$page?page=$tmp_page" ?>
위 구문을 다시봐두 이해가 잘 되질 않아서염~
앞에 $tmp_page에 $page를 대입시키고,
$page=$page."php"를 대입시키고
인쿠르드 "http://XX.com/html/$page?page=$tmp_page" 시킨다.??
제로보드의 예를 들자면 "http://XX.com/html/zboard.php?id=getbook"과 같은것인데
이게 어떻게 이렇게 인식하는지...
http://XX.com/html/$page?page=$tmp_page
http://XX.com/html/zboard.php?id=getbook
다시보면
첫째, $page가 zboard.php로
둘째, page가 id로
셋째, $tmp_page가 getbook으로 변했는데염~
---------------------------------------------------------------------------------------------
!!!!!여기서 문제제기
----------------------------------------------------------------------------------------------
첫째는 쫌 이해가 되는데...둘째는 전혀 이해가 안되고, 셋째는 인쿠르드하기전에 $page=$tmp_page가 같다고했으니깐 똑같이 zboard가 들어가야하는거아닌지요?? 혹시 순서가 인쿠르드구문을 먼저 읽고 변수를 대입하는건가염?!
그리고 page라는 변수를 중복하여 사용하였는데 굳이 이렇게 할 필요가 있는건지...도
궁금합니다.
-------------------------------------------------------------------------------------------------
댓글 3
-
류근하
2003.12.15 12:35
-
닭
2003.12.15 12:42
순차적으로 생각하시면 되요.
include된 곳을 보시면 'page'라는 키워드값이 있습니다. 그것을 php에서 바로 받지요. $page라는 변수로요.
그럼 생각해보면 ....$page를 zboard라고 생각해보면...
$tmp_page = $page; // $tmp_page라는 변수에 이전 페이지에서 넘어온 $page값...즉, 'zboard'를 할당한다.
$page = $page.".php"; // $page 변수에 기존 $page가 가지고 있던 'zboard'에 '.php'를 포함하여 다시 $page에 값을 할당한다.
//// 그럼 현재 상태는 $tmp_page는 'zboard'라는 값을 가지고 있고, $page는 'zboard.php'라는 값을 가지고 있지요.
//// 이제 include로 넘어가면...
include "http://XX.com/html/$page?page=$tmp_page; // $tmp_page와 $page 값만 적용시키면 되겠네요...
//// 결국 "http://XX.com/html/zboard.php?page=zboard"라는 페이지를 불러오겠죠.
그리고, 모든 프로그래밍 언어에서 그렇지만...'$tmp_page = $page' 의 의미는 두개의 변수가 서로 같다는 조건절이 아닙니다.
$page에 있는 값을 $tmp_page로 할당하는 겁니다.
따라서,
첫줄에서 $tmp_page=$page에서는 현재 가지고 있는 $page의 값을 $tmp_page에 할당하지만, 현재 $page에 할당되어 있는 값은
변하지 않았습니다. 따라서, $tmp_page와 $page가 가지고 있는 값은 같습니다만,
두번째 줄에서 $page=$page.".php"가 실행되는 순간 $page는 '$page의 값.php'라는 값을 가집니다. 이 시점에서는 $tmp_page와 $page가
전혀 다른 값을 가지고 있는 상황이되는 것이죠.
따라서, 세번째 include로 넘어가게 되면....이미 $tmp_page와 $page는 서로 다른 값을 가지게 되는거죠.
include문 적용된 $tmp_page와 $page에 현재 할당되어 있는 값만 적용하면 되겠네요.
그럼 http://XX.com/html/zboard.php?page=zboard를불러오겠네요.
설명이 좀 이상한거 같기는 하지만 ^^* -
이동철
2003.12.15 14:16
$page = getbook.php
include"http://XX.com/html/getbook.php?page=getbook"