You cannot see this page without javascript.

Skip Navigation

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


00:00

날씨

    • 흐림
    • 21.0°C
    • 60%
    • 30%
    • 구름 많음
    • 19.0°C
    • 75%
    • 20%
    • 구름 많음
    • 17.0°C
    • 80%
    • 20%
    • 흐림
    • 16.0°C
    • 90%
    • 30%
    • 구름 많음
    • 16.0°C
    • 90%
    • 20%
    • 흐림
    • 19.0°C
    • 75%
    • 30%
    • 흐림
    • 23.0°C
    • 55%
    • 30%
    • 흐림
    • 23.0°C
    • 55%
    • 30%
    • 흐림
    • 21.0°C
    • 65%
    • 30%
    • 흐림
    • 19.0°C
    • 75%
    • 30%
    • 흐림
    • 18.0°C
    • 80%
    • 30%
    • 흐림
    • 23.0°C
    • 70%
    • 30%
    • 흐림
    • 20.0°C
    • 85%
    • 30%
발표시간: ,
날씨 정보 저작권자 © 기상청
XE코어
2020.08.12 23:48

XpressEngine의 동작 순서

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

Shortcut

PrevPrev Article

NextNext Article

Larger Font Smaller Font Up Down Go comment Print Attachment

XE는 요청을 받고 이에 대한 결과를 만들어 출력을 하고 종료됩니다. 전체적인 동작순서는 아래와 같습니다.

 

993032_xe_flowchart.jpg

 

XpressEngine의 순서별 안내

XE의 각 순서별 자세한 내용은 아래와 같습니다.

1.요청 (Request)

  • XE는 웹프로그램이며 XE가 동작하기 위해서는 브라우저, 어플리케이션, XE 혹은 다른 프로그램들을 통해서 요청을 받게 되고 웹서버는 이 요청을 XE로 전달하게 됩니다.
  • XE를 요청할때는 Content-type에 따라서 최종 결과물 출력시 다른 형태로 출력을 하게 됩니다.
    • GET/ POST : 브라우저등에서 호출되는 HTML 결과물을 얻기 위한 요청 방식입니다.
    • JSON : Javascript로 만들어진 어플리케이션이나 AJAX 기법으로 데이터를 요청하거나 조작할때 사용되는 방식입니다.
    • XMLRPC : Javascript 또는 플래시등의 연동 어플리케이션 혹은 다른 XE 등의 프로그램에서 요청할때 사용됩니다.
  • XE의 모든 요청은 index.php 파일을 거치게 되어 있습니다.

2. 정보 초기화 (Context Init)

  • 요청받을때 함께 입력받은 변수, 사용자의 언어, 설정된 DB 정보등 XE가 구동되기 위한 모든 정보를 초기화합니다.
  • Context class는 요청받은 도메인 정보에 따라 virtual Site에 대한 정보도 초기화를 하게 됩니다.
  • Context class는 XE의 모든 정보를 관리하는 상위 class이며 각 모듈들이 실행되고 결과물을 출력할때는 사용됩니다.

3. 요청 받은 모듈 탐색 (ModuleHandler)

  • 정보 초기화가 끝나면 ModuleHandler 라는 XE의 모듈을 관리하는 ModuleHandler가 동작하게 됩니다.
  • ModuleHandler는 아래와 같은 변수를 이용해서 모듈을 찾고 동작 시킵니다.
    • document_srl : 문서 중심인 XE에서 최우선 접속 대상 파악은 문서 번호인 document_srl 변수로 찾게 됩니다.
    • mid : document_srl이 없거나 잘못된 값일 경우 mid 변수를 이용하여 대상 모듈을 찾게 됩니다.
    • module_srl : document_srl, mid가 없을 경우 module_srl 변수로 대상 모듈을 찾게 됩니다.
    • 위 3가지 변수로도 대상 모듈을 찾지 못했다면 기본 설정으로 되어 있는 모듈을 검색합니다.(virtualSite 사용 도메인으로 접속시 virtualSite의 기본 설정 모듈을 검색)

4. 검색된 대상 모듈의 실행

  • 검색된 대상 모듈이 없다면 에러를 출력하게 되고 바로 결과물 출력을 위한 준비 단계로 넘어갑니다.
  • 대상 모듈이 있을 경우 대상 모듈의 동작을 위해 act 변수값을 검수합니다.
    • act 변수는 모든 모듈에서 정의한 action 이름을 담고 있는 변수입니다.
    • 이 act 변수에 담겨진 값이 모듈에서 정의한 action 중에 존재하지 않는다면 다른 모듈에서 정의되었는지를 찾게 됩니다.
    • 다른 모듈의 모든 action을 찾는 것이 아니라 action forward라는 DB에 입력된 것을 대상으로 찾게 됩니다.
    • action forward DB에서 찾게 되면 그 대상 모듈을 찾아서 현재 모듈과 교체하게 됩니다.
  • 모듈의 action에 해당하는 method를 찾아서 실행합니다.

5. 모듈 실행

  • 4번을 통해 module, action을 찾게 되고 해당하는 method를 실행함으로서 모듈의 실행이 이루어집니다.

6. 요청된 Content Type의 조사

  • GET/POST, JSON, XMLRPC의 요청 형식에 따라서 5번에서 실행된 결과를 출력할 방법을 찾게 됩니다.
  • GET/POST일 경우 HTML 로 출력하기에 Template Handler를 통해서 결과물을 생성하게 됩니다.
  • 물론 HTML 출력이기 때문에 editor component, widget등을 컴파일해서 결과를 대체시키게 됩니다.
  • JSON/ XMLRPC의 경우 해당 모듈의 module.api.php 파일을 통해서 결과를 한번 더 검수하게 합니다.
  • 이렇게 정리된 결과는 결과물 출력 단계로 넘어갑니다.

7. 결과물 출력

  • Request Content Type에 따라서 적절한 결과물을 만들어서 출력합니다.
  • 이로서 XE의 동작은 끝이 납니다.

애드온(addon) 의 동작

XE 의 애드온은 위의 flow chart를 보면 hooking 개념으로 총 4번의 애드온 호출이 이루어집니다. XE의 동작중 입력이나 출력을 조작할 수 있는 position을 정의하고 이 position에서 애드온을 호출함으로서 애드온은 XE의 모듈이 하는 정상적인 동작을 변형하거나 중단 또는 무언가를 추가할 수 있습니다.

 

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

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

* User ID : leesungmin
* User Name : 이성민
* Email : imadonis@naver.com
* Homepage : https://4880.net
* Birthday : 1972-07-24
* Member Group : 관리그룹, 유료회원, 문제출제
* Signup Date : 2012-07-19
* Following : 랩퍼투혼 whom the member is following.
* Following Count : 1people
* Followed by : 탑돌이, 랩퍼투혼 ... now follwing this member.
* Followed Count : 2people

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

* Document Count : 17366
* Comment Count : 90
* Document Count : 36
* Document Count : 126
* Comment Count : 134
* Document Count : 3
* Comment Count : 3
* Document Count : 1
* Comment Count : -1
카카오링크
Atachment
Attachment '1'

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

회원만 쓰기 가능합니다.

List of Articles
No. Category Subject 페이지 Author Date Views
Notice Tip&Tech xe 동작순서 부운영자 2015.08.24 1016
Notice Tip&Tech XE의 애드온 및 모듈의 기능 요약표 부운영자 2015.01.16 1266
Notice Tip&Tech XEReferences 부운영자 2014.11.29 920
Notice Tip&Tech XE 스킨 제작 매뉴얼 v1.1 (Korean, PDF) file 부운영자 2014.11.29 1283
Notice Tip&Tech XE 개발자 매뉴얼 v1.1 (Korean, PDF) file 부운영자 2014.11.29 1809
Notice Tip&Tech xe 레퍼런스 모음 file 부운영자 2014.10.10 2537
210 XE코어 XE 템플릿 문법 XE 템플릿 문법의 이해 기본 문법 default 파일 포함 include 조건문 IF 반복문 loop 0010 부운영자 2020.08.12 33
209 XE코어 유용한 함수들 getUrl() logged_info 0009 부운영자 2020.08.12 46
208 XE코어 클래스 친구들 클래스 친구들 Object.class.php Context.class.php 0008 부운영자 2020.08.12 45
207 XE코어 설정을 위한 2개의 문서 환경설정 config.inc.php 함수라이브러리 func.inc.php 0007 부운영자 2020.08.12 43
206 XE코어 Context의 이해 Understanding of Context Context는 사전적 의미로 (어떤 일의) 맥락, 전후 사정을 뜻한다. 즉 어떤 글이 있다면 글의 맥락, 문맥이라는 뜻이기도 하다. 컴퓨터에서는 이것을 상황 정보라고도 표현한다. 쉽게 말해서 XE와 같은 CMS 프레임워크에서는 웹페이지를 만들기 위해 필요한 모든 정보를 가지는 데이터(Data)의 구조... 0006 부운영자 2020.08.12 35
205 XE코어 xe의 시작페이지 index.php XE코어의 index.php는 무척 간단한 몇 줄의 PHP 구문으로 작성되어 있다. 하지만 index.php는 XE 전반에 걸쳐 가장 중요한 문서이다. 왜냐하면 XE가 기본적으로 사용하는 class파일을 모두 include(포함)한다. require(&#039;./config/ config.inc.php&#039;); 위 문장은 단 하나의 config.inc.php 문서파일을 불러오는 것 같지만 사실... 0005 부운영자 2020.08.12 60
204 XE코어 xe 처럼 생각하고 말하기 클래스의 정의 class 객체 생성 class instance 상속 Extends 참조 Reference 0004 부운영자 2020.08.12 24
» XE코어 XpressEngine의 동작 순서 XE는 요청을 받고 이에 대한 결과를 만들어 출력을 하고 종료됩니다. 전체적인 동작순서는 아래와 같습니다. XpressEngine의 순서별 안내 XE의 각 순서별 자세한 내용은 아래와 같습니다. 1.요청 (Request) XE는 웹프로그램이며 XE가 동작하기 위해서는 브라우저, 어플리케이션, XE 혹은 다른 프로그램들을 통해서 요청을 받... file 0003 부운영자 2020.08.12 32
202 XE코어 xe 코어 xe 코어 0002 부운영자 2020.08.12 33
201 XE코어 xe 노트 소개 XE 코어의 이해를 위한 XE스쿨 학습 노트 XE코어를 살펴보는 것은 XE Core를 수정하거나 변경하기 위해서 공부하는 것이 아니다. XE코어가 생각하고 행동하는 방법을 유심히 살펴보는 것이고 작성된 코드의 내용을 한번 쯤 읽어보는(Reading Code) 작업이다. 그러면 XE와 좀더 친하게 지낼 수 있다...^^ 0001 부운영자 2020.08.12 14
200 XE코어 XE 노트 xe 노트 소개 xe 코어 xe 모듈 xe 애드온 xe 위젯 0000 부운영자 2020.08.12 16
199 Tip&Tech Chrome Console SameSite Cookie Attribute Warning 제거 Chrome Console SameSite Cookie Attribute Warning Is anybody else getting this Chrome console warning? A cookie associated with a cross-site resource at was set without the SameSite attribute. A future release of Chrome will only deliver Stack Overflow 부운영자 2020.07.29 48
198 Tip&Tech 리눅스 쉘스크립트, Crontab을 이용한 자동백업 따라해보기 리눅스 쉘스크립트, Crontab을 이용한 자동백업 따라해보기 Ubuntu 백업 스크립트 작성하기 아래 설명글은 Ubuntu 뿐만 아니라 모든 Linux 배포판에 대해서 공통적으로 실행가능합니다. 서버를 운영하면서, 백업과 보안은 항상 염두해 두어야 하는 사항이다. 리눅스 시스템.. 배우고 나누고 배우고 정리하 - RainbowM / 2017... 부운영자 2020.07.15 141
197 Tip&Tech Crontab 설정 방법 rhymix/rhymix-docs Rhymix Official Documentation. Contribute to rhymix/rhymix-docs development by creating an account on GitHub. GitHub 부운영자 2020.07.15 56
196 Tip&Tech 오류 좀 봐주세요!! mmm 이걸 해결 못하고 있네요...ㅜㅜ jQuery(function($) { if(viewer_option &lt; 1 &amp;&amp; viewer_srl.length &lt; 1 &amp;&amp; viewer_ext.length &lt; 1 &amp;&amp; viewer_url.length &lt; 1) return; var srl = viewer_srl.split(&#039; | &#039;); var ext = viewer_ext.split(&#039; | &#039;); var url = viewer_url.split(&#039; | &#039;); var l = url.length; var exts = &#039;pdf... file 부운영자 2020.07.04 49
195 Tip&Tech 빌어먹을 로봇 퇴치하기 =>SemrushBot 빌어먹을 로봇 퇴치하기 =&gt;SemrushBot 일반적으로 로봇을 차단하는데 robots.txt를 이용합니다. 하지만 robots.txt 규칙을 무시하는 빌어먹을(??) 봇들이 많습니다. .htaccess를 이용하는 방법도 있습니다. https://github.com/bluedragonz/bad-bot-blocker/blob/master/.htaccess 의 내용을 .htaccess 앞부분에 넣어주면 됩... 부운영자 2020.06.15 138
194 Tip&Tech 에디터 컴포넌트에서 특정 xml만 403 forbidden 라이믹스는 보안상 모듈 폴더 아래에 있는 xml 파일에 직접 접근하는 것을 막고 있습니다. 에디터 컴포넌트에서 xml 파일에 직접 접근할 필요가 있다면 .htaccess 파일 4번째 줄의 내용을 RewriteCond %{REQUEST_URI} !/modules/editor/(skins|styles)/ 에서 RewriteCond %{REQUEST_URI} !/modules/editor/(skins|styles|com... 부운영자 2020.05.18 126
193 Tip&Tech 크롬 사용시 로그인 풀림 현상 가생이닷컴 &gt; 공지사항 &gt; 크롬 사용시 로그인 풀림 현상 한국에 대한 해외반응 한류팬반응 일본반응 중국반응 한류영상등 번역 gasengi.com 부운영자 2020.04.27 184
192 Tip&Tech 파도타기 스크립트[ 프로모에 위치] &lt;!DOCTYPE html&gt; &lt;html lang=&quot;ko&quot;&gt; &lt;head&gt; &lt;meta charset=&quot;UTF-8&quot;&gt; &lt;title&gt;파도타기시작 &lt;/title&gt; &lt;style type=&quot;text/css&quot;&gt; .wave_document{background: #53FF4C; width: 100px; height: 30px; border: 1px solid #CCCCCC; border-radius: 15px;} // .wave_document{background: #FFFFFF; width: 50px; height: 30px; border... 부운영자 2020.04.26 309
191 Tip&Tech 실시간 게시물 알림 모듈 1. 실시간 게시물 알림 모듈은? 사이트에 새로운 게시물(글,댓글) 등록시 사이트 하단에 알림을 띄워서 알려주는 모듈입니다. 서버와 지속적인 통신을 하므로 동시접속자가 적은 사이트에 적합합니다. https://ssgroom.com/xecenter/1368 undefined groom.com 부운영자 2020.04.25 135
List
Board Pagination Prev 1 2 3 4 5 6 7 8 9 10 ... 14 Next
/ 14