You cannot see this page without javascript.

Skip Navigation

XE 레이아웃 카메론 XE LAYOUT CAMERON XE2.0.11


XE코어
2020.08.12 23:53

Context의 이해

profile
(*.168.0.1) Views 28 Votes 0 Comment 0
Extra Form
원문주소
페이지 0006
?

Shortcut

PrevPrev Article

NextNext Article

Larger Font Smaller Font Up Down Go comment Print

Understanding of Context

 

Context는 사전적 의미로 (어떤 일의) 맥락, 전후 사정을 뜻한다. 즉 어떤 글이 있다면 글의 맥락, 문맥이라는 뜻이기도 하다. 컴퓨터에서는 이것을 상황 정보라고도 표현한다. 쉽게 말해서 XE와 같은 CMS 프레임워크에서는 웹페이지를 만들기 위해 필요한 모든 정보를 가지는 데이터(Data)의 구조체라고도 말할 수 있다.

데이터의 구조체? 더 어려워진다...^^ Context를 어떠한 말로도 표현하기 쉽지 않다.

다음의 내용을 좀더 쉽게 이해하려면 아래 텍스트를 클릭해 보자.

 

XE에서 Context란?

XE에서 웹페이지는 이미 기본 형태를 갖춘 구조로 제공된다. 웹브라우저가 출력할 수 있는 HTML문서의 <!DOCTYPE>과 <html>, <head>, 그리고 <body>까지, XE코어를 설치하는 것만으로도 XE는 웹페이지의 모든 구조를 xe/common/tpl/common_layout.html 템플릿 파일에서 기본으로 제공하고, 위와 같은 Context 조립 키트에서 서버환경과 설치환경 그리고 관리자 설정에서 얻을 수 있는 변수와 값으로 대체되어 출력되는 것이다. 이때 $content는 사용자의 설정에 따라 모듈의 데이터(Data)가 자리를 잡게 된다. 페이지, 위젯 페이지, 외부 페이지 또는 게시판과 같은 기타 모듈의 내용값이다. 즉 위와 같이 Context는 프라모델의 조립 키트를 닮았다고 생각하면 좋다.

이렇게 완성된 웹페이지를 제공할 수 있는 가장 기초적인 데이터의 구조체, 다양한 조립 키트를 제공하는 일이 바로 Context 클래스가 하는 일이다.

XE가 동작하기 위해 처음으로 호출되는 index.php 파일을 살펴보면 $oContext = &Context;::getInstance();라는 객체 생성 구문이 있다. 즉 context.class.php 파일의 getInstance() 메서드가 반환하는 값을 참조로 받는다는 의미이다. 이때 반환되는 값 $theInstance 변수는 static 맴버변수 형태로 반환 받는다. 즉 이후 생성되는 모든 객체가 어떠한 값을 공통으로 사용해야 하는 상황에서 미리 객체를 만들지 않고도 접근할 수 있는 전역변수와 같은 역할을 한다는 의미이고, 다른 객체가 생성될 때마다 할당되는 메모리 영역이 아니라 자신만이 사용하는 전용 메모리 공간을 특별석으로 미리 확보하여 사용하겠다는 뜻이기도 하다...^^ 여하튼 Context는 모듈과 위젯이 만드는 결과물($output)과 함께 완성된 웹페이지를 출력하기 위한 모든 부품을 준비하는 조립용 키트라고 생각하면 좋다.

그러면 모듈과 위젯이 만드는 객체는 어떻게 받아서 사용하는 것일까? 해답은 새로운 부품 키트를 만드는 것이다. 아래 텍스트를 클릭해 보자.

 

Context::set()

 

이미 준비된 부품 외에도 모듈 또는 애드온, 위젯 등에서 Context::set() 메서드를 이용해 필요한 부품을 추가로 만들고 사용하는 것이다. 즉 모듈이나 위젯은 특별한(static) 객체이기 보다는 각각의 상황(Context)에 알맞게 임시로 메모리 주소를 할당받고 잠시동안 사용할 목적의 객체를 만들고 필요없는 경우 메모리 값을 해제한다. 이러한 세부적인 방법들이 Context.class.php 파일에 구현되어 있는 것이고 모듈, 애드온, 위젯은 자신의 메서드를 이용해서 얻은 데이터 값들을 우선적으로 Context에 세팅한다. 위 조립 키트의 내용은 매우 간략히 표현한 것이다. 모듈과 위젯 등이 호출되면 매우 다양한 조립 키트 부품들이 단일 또는 배열값으로 생성되고 이것을 잘 조립하면 항공모함도 만들 수 있게 된다...^^

 

// 모듈 정보 세팅할 때 Context::set('module_info', $module_info);

// 브라우저 타이틀 설정 Context::setBrowserTitle($oDocument->getTitleText());

// 위젯의 내용값을 세팅할 때 Context::set('widget_info', $widget_info);

// 애드온에서 필요한 파일을 세팅할 때 Context::addCssFile('./addons/resize_image/css/resize_image.mobile.css');

 

이렇게 추가로 세팅한 부품의 값은 "얻어야 한다." 따라서 Context::get(); 메서드를 이용하여 얻을 수 있고 넘겨 받은 데이터는, 다양한 방법으로 목적하는 또다른 형식의 값으로 가공하여 사용하기도 한다.

// 로그인 정보를 얻을 때 $logged_info = Context::get('logged_info');

// 요청된 변수 값들을 정리 $document_srl = Context::get('document_srl');

// 지정된 정렬값이 없다면 스킨에서 설정한 정렬 값을 이용함

              $args->sort_index = Context::get('sort_index');

              $args->order_type = Context::get('order_type');

// 선택한 목록을 세션에서 가져옴 $flag_list = $_SESSION 'document_management';

 

예제로 Context에서 얻어 볼 수 있는 현재 페이지의 값을 확인해 보자.

▶ 웹브라우저의 제목 :  {Context::getBrowserTitle()}

결과값 : Context의 이해

▶ 로그인 여부 : {$is_logged}

결과값 :

▶ 응답 방법 : {Context::getResponseMethod()}

결과값 : HTML

▶ 모듈 정보 -> 모듈 이름 : {$module_info->mid}

결과값 : xenote_understanding_of_context

 

💖 부운영자님 에게 암호화폐로 후원하기 💖

아이콘을 클릭하면 지갑 주소가 자동으로 복사 됩니다

입금주소 rp2diYfVtpbgEMyaoWnuaWgFCAkqCAEg28  

XRP 리플 입금( 기부) 하는법

데스티

네이션 태그

1175658134

각 거래소에서 입금주소 와 데스티네이션 태그를 입력하시면 됩니다.


QR 코드
xrp.png

리플 송금시 주의할 점

  • 송금 후에 잔액이 항상 20XRP를 유지가능하도록 해야한다.
  • 송금요청할 때 트렌젝션 사용시 0.000015XRP가 무조건 지불된다.
  • 리플에서 제공해주는 지갑에 보관단위가 XRP뿐만 아니라 다른코인(예: BTC, LTC 등), USD, KRW 단위로 저장해놓을 수 있다.

만약 히스토리가 궁금할경우 https://xrpcharts.ripple.com/graph/ 에서 리플 지갑 주소를 입력하면 역추적이 가능하다.

리플 주소를 처음 만들경우 주소는 발급되지만 실제 활성화가 되어 있지 않는다. 최소 20XRP을 어디선가 송금 받은 후부터 지갑이 활성화 된다. 일종의 지갑 구입 or 보증금인듯

Who's 부운영자

profile

< 빌립보서 4장 13절>
내가 주 안에서 크게 기뻐함은 너희가 나를 생각하던 것이 이제 다시 싹이 남이니 너희가 또한 이를 위하여 생각은 하였으나 기회가 없었느니라   
내가 궁핍하므로 말하는 것이 아니니라 어떠한 형편에든지 나는 자족하기를 배웠노니    
나는 비천에 처할 줄도 알고 풍부에 처할 줄도 알아 모든 일 곧 배부름과 배고픔과 풍부와 궁핍에도 처할 줄 아는 일체의 비결을 배웠노라
내게 능력 주시는 자 안에서 내가 모든 것을 할 수 있느니라 

회원정보수정하러가기
카카오링크
Attach Images or Files

Drop your files here, or click the button to the left.

Maximum File Size : 0MB (Allowed extentsions : *.*)

0 file(s) attached ( / )

제로XE/라이믹스/그누/워드프레스

회원만 쓰기 가능합니다.

List of Articles
No. Category Subject 페이지 Author Date Views
Notice Tip&Tech xe 동작순서 부운영자 2015.08.24 963
Notice Tip&Tech XE의 애드온 및 모듈의 기능 요약표 부운영자 2015.01.16 1219
Notice Tip&Tech XEReferences 부운영자 2014.11.29 869
Notice Tip&Tech XE 스킨 제작 매뉴얼 v1.1 (Korean, PDF) file 부운영자 2014.11.29 1236
Notice Tip&Tech XE 개발자 매뉴얼 v1.1 (Korean, PDF) file 부운영자 2014.11.29 1727
Notice Tip&Tech xe 레퍼런스 모음 file 부운영자 2014.10.10 2501
화제의 글 Tip&Tech PHP용 로그 라이브러리 공유합니다. 부운영자 2021.03.29 47
화제의 글 Tip&Tech plusad_widget 안되는것 ? 부운영자 2021.02.21 45
화제의 글 Tip&Tech Font Awsome, XEICON 함께 사용하기 부운영자 2020.11.26 133
225 모듈 XE의 URL 규칙 URLs on XE XE에서 생성한 URL 은 깔끔하고 검색엔진에서 색인되기 좋은 구조이다. XE는 일반적인 쿼리스트링 기반의 URL이 아니라 세그먼트 기반의 URL을 사용한다. 쿼리스트링(Query string) URL이란, 다음과 같이 쿼리 문자열을 포함하는 전형적인 URL 형식이다. &lt;http://www.xeschool.com/xe/index.php?mid=freeboard&amp;do... 00021 부운영자 2020.08.13 73
224 모듈 모듈의 기본 이해 The Story of XE Modules XE코어의 모듈 이야기... 1. 백엔드 어드민(Admin) 뷰(View) 구현을 위한 example 모듈 만들기 2. 프론트 엔드 뷰(View) 구현을 위한 BOOK 모듈 만들기 3. v1.5 룰셋(ruleset)과 BOOKMARK 모듈 만들기 . XE의 URL 규칙 폼(form)과 DB MVC 구조의 이해 프론트엔드와 백엔드 뷰(View) 모듈 확장과 모... 0002 부운영자 2020.08.13 22
223 모듈 XE 모듈 The Story of XE Modules XE코어의 모듈 이야기... 1. 백엔드 어드민(Admin) 뷰(View) 구현을 위한 example 모듈 만들기 2. 프론트 엔드 뷰(View) 구현을 위한 BOOK 모듈 만들기 3. v1.5 룰셋(ruleset)과 BOOKMARK 모듈 만들기 모듈의 기본 이해 BOOK 모듈 만들기 룰셋과 북마크 모듈 만들기 0001 부운영자 2020.08.13 14
222 XE코어 반복문 loop XE Template Syntax 반복문 loop 주어진 조건에 따라 필요한 내용을 반복해서 출력해야 할 때 반복문(루프/loop)을 사용한다. 1. 반복문의 이해 반복문은 컴퓨터가 만들어지면서 가장 먼저 시도된 증조 할아버지뻘 되는 구문이고 문법이다. 1+1 은 쉽다. 하지만 1에서 10까지 더하라고 하면 약간 머리가 복잡해진다. 사람들... 00105 부운영자 2020.08.13 36
221 XE코어 조건문 IF XE Template Syntax 주어진 조건에 따라 필요한 내용을 문맥에 알맞게 출력하거나 배제할 때 조건문을 사용한다. 1. IF 문 IF 조건문은 PHP의 IF 조건문과 동일하고 &quot;if, elseif, else, end&quot;와 &quot;조건식&quot;으로 이루어져 있다. if 문이 시작되면 반드시 end 문으로 닫아서 조건문이 끝났음을 선언해야 하고 조건식의 내용은 PHP... 00104 부운영자 2020.08.13 26
220 XE코어 파일 포함 include XE Template Syntax XE 템플릿 스킨의 HTML 문서 안으로 외부 파일을 불러와 포함시키기 위한 문법이다. 파일 포함 문법에서는 불러 들이고자 하는 외부 파일의 경로 설정을 상대 경로로 표시한다. 즉 HTML 문서의 자신을 기준으로 상대적인 위치의 경로를 이용한다. HTML 문서가 있는 같은 폴더 안의 default.css 파일을 포... 00103 부운영자 2020.08.13 39
219 XE코어 기본 문법 default XE Template Syntax 1. 변수 PHP에서 변수를 다루는 것과 동일한 방법으로 XE 템플릿 안에서 변수를 정의하고 출력할 수 있다. 변수를 나타내는 문자열 앞에는 달러($) 기호를 붙여 사용하며 변수명은 대소문자를 구별한다. 변수는 프로그램에서 미리 선언한 내용 또는 템플릿 안에서 사용자의 필요에 따라 새로운 변수를 정... 00102 부운영자 2020.08.13 63
218 XE코어 XE 템플릿 문법의 이해 XE Template Syntax 템플릿(template)이란 붕어빵을 만드는 틀로 비유된다. 같은 모양, 같은 크기의 객체(object)를 만들기 쉽다. 프로그래밍 언어에서 템플릿 구문은 초등학교 시절의 플라스틱 모형자를 생각하면 이해가 쉽다. 제각각 다른 모양, 다른 크기로 그려지는 삼각형도 모형자 하나만 있으면 모두들 똑같은 삼각형... 00101 부운영자 2020.08.13 45
217 XE코어 logged_info $logged_info XE에 접근하면 XE는 항상 방문자의 로그인 여부를 우선 먼저 확인하게 된다. 이때 사용하는 변수가 $is_logged 와 $logged_info 이다. Context.class.php 파일 137라인을 참고해 보면 member 모듈의 member.controller.php 파일의 메서드(해야 할 일)를 참고하여 방문자가 로그인했는지, 로그인했다면 세션과 ... 00092 부운영자 2020.08.13 105
216 XE코어 getUrl() getUrl() XE 레이아웃에 많이 쓰이는 getUrl() 함수이다. &quot;getUrl()은 현재 요청된 RequestURI에 주어진 인자의 값으로 변형하여 url을 리턴한다.&quot;고 설명되어 있다. 또한 인자는 (key, value)... 의 형식으로 주어져야 하고 (예... getUrl(&#039;key1&#039;,&#039;val1&#039;, &#039;key2&#039;, &#039;&#039;) : key1, key2를 val1과 &#039;&#039; 로 변형) 아무런 인자가 없... 00091 부운영자 2020.08.13 86
215 XE코어 Context.class.php 요청 인자(request arguments), 환경 변수(environment variables)와 같은 모든 컨텍스트(Context)를 관리 Context::methodname()로 호출할 수도 있고 정적 객체로도 호출할 수 있는 사용하기 쉬운 이중 방식 구조를 가지고 있다. Context는 GET/POST의 값을 수신하고 변수와 다양한 정보를 템플릿에 전달한다. 또한, 요청이... 00082 부운영자 2020.08.13 55
214 XE코어 Object.class.php XE 모듈 사이의 객체 인스턴스를 전달하는 기본 클래스(데이터를 주고 받기 위한 클래스) 모든 모듈은 객체(Object)를 상속한다. 객체(Object)의 error, message, variables 를 이용하여 통신을 하게 된다 Object 함수 목록 : 속성 var $error = 0; ///&lt; 에러 코드 (0이면 에러 아님) var $message = &#039;success&#039;; ///&lt; 에러 ... 00081 부운영자 2020.08.13 64
213 XE코어 함수라이브러리 func.inc.php clone($object) iconv($in_charset, $out_charset, $str) &amp;getModule($module_name, $type = &#039;view&#039;, $kind = &#039;&#039;) &amp;getController($module_name) &amp;getAdminController($module_name) &amp;getView($module_name) &amp;getMobile($module_name) &amp;getAdminView($module_name) &amp;getModel($module_name) &amp;getAdminModel($module_name) &amp;g... 00072 부운영자 2020.08.13 145
212 XE코어 환경설정 config.inc.php XE의 버전 및 개발자용 디버깅 설정이 저장된 파일 XE가 기본적으로 사용하는 함수라이브러리 func.inc.php 파일과 클래스(class)파일을 시작페이지 index.php 파일로 가져간다 define(&#039;ZBXE_VERSION&#039;, &#039;1.4.5.7&#039;); XE코어의 버전은 이곳에서 정의된다. require(XE_PATH.&#039;config/func.inc.php&#039;); XE코어에서 사용하기 위한 ... 00071 부운영자 2020.08.13 30
211 XE코어 XML 쿼리 언어 XML 쿼리 언어 XML Query Language SMaker님의 글을 전문인용하여 재구성하였다. - http://xe.xpressengine.net/wiki/18180631 개요 쿼리 사용방법 XML sample Select query 예제 Join Select 예제 Letf Join Select 예제 Insert 예제 update 예제 delete 예제 Select Click Count 예제 개요 XpressEngine는 SQL 쿼리를 그대... 0011 부운영자 2020.08.12 41
210 XE코어 XE 템플릿 문법 XE 템플릿 문법의 이해 기본 문법 default 파일 포함 include 조건문 IF 반복문 loop 0010 부운영자 2020.08.12 26
209 XE코어 유용한 함수들 getUrl() logged_info 0009 부운영자 2020.08.12 29
208 XE코어 클래스 친구들 클래스 친구들 Object.class.php Context.class.php 0008 부운영자 2020.08.12 41
207 XE코어 설정을 위한 2개의 문서 환경설정 config.inc.php 함수라이브러리 func.inc.php 0007 부운영자 2020.08.12 18
» XE코어 Context의 이해 Understanding of Context Context는 사전적 의미로 (어떤 일의) 맥락, 전후 사정을 뜻한다. 즉 어떤 글이 있다면 글의 맥락, 문맥이라는 뜻이기도 하다. 컴퓨터에서는 이것을 상황 정보라고도 표현한다. 쉽게 말해서 XE와 같은 CMS 프레임워크에서는 웹페이지를 만들기 위해 필요한 모든 정보를 가지는 데이터(Data)의 구조... 0006 부운영자 2020.08.12 28
List
Board Pagination Prev 1 2 3 4 5 6 7 8 9 10 ... 14 Next
/ 14