사용자:Hsl0/local CGI

리버티게임, 모두가 만들어가는 자유로운 게임
< 사용자:Hsl0
Hsl0 (토론 | 기여)님의 2024년 6월 18일 (화) 00:00 판 (새 문서: 기존의 CGI는 페이지 단위였지만, 문서 내에서 스코프를 나눠서 각 스코프별로 각자의 CGI 상태를 갖는 로컬 CGI(LCGI)의 초안이다. 위키텍스트는 선언형으로써 이 선언형 특성을 살리도록 설계하였다. LCGI는 스코프를 만드는 틀과, 그 틀 내의 CGI 상태를 바꾸는 링크 틀(액션)로 나뉜다. 기본적으로 로컬 CGI 스코프 내부의 변수는 지역변수이다. 하지만, 바깥 스코프의...)
(차이) ← 이전 판 | 최신판 (차이) | 다음 판 → (차이)

기존의 CGI는 페이지 단위였지만, 문서 내에서 스코프를 나눠서 각 스코프별로 각자의 CGI 상태를 갖는 로컬 CGI(LCGI)의 초안이다.

위키텍스트는 선언형으로써 이 선언형 특성을 살리도록 설계하였다.

LCGI는 스코프를 만드는 틀과, 그 틀 내의 CGI 상태를 바꾸는 링크 틀(액션)로 나뉜다.

기본적으로 로컬 CGI 스코프 내부의 변수는 지역변수이다. 하지만, 바깥 스코프의 변수와 연동시켜서 연동된 내부의 변수를 바꾸면 외부의 변수도 바뀌고, 반대로 외부의 변수를 바꾸면 내부의 변수를 바꿀 수 있다. 이를 포워딩이라고 한다.

{{LCGI|<nowiki>
<!-- 스코프의 내용, 이 내용이 LCGI 틀 자리에 표출된다. -->
현재 상태: {{{offset}}}
* {{LL|{{LL/set|offset=1}}|1로 변경}}
* {{LL|{{LL/set|offset=2}}|2로 변경}}
</nowiki>
|<!-- LCGI 스코프에 대한 설정 -->
{{LCGI/forward|offset}}<!-- {{LCGI/public|offset=offset}} 과 같음 -->
{{LCGI/private|offset}}<!-- private로 지정한 변수가 아니라면 전부 public으로 만듦 -->
{{DB2|model|key=aa}}<!-- DB2 등 다른 시스템과 변수를 연동할 수 있음 -->
}}