정의 위치
- ./classes/context/Context.class.php
정의 내용
/** * Set a context value with a key * * @param string $key Key * @param string $val Value * @param mixed $set_to_get_vars If not FALSE, Set to get vars. * @return void */ function set($key, $val, $set_to_get_vars = 0) { is_a($this, 'Context') ? $self = $this : $self = self::getInstance(); $self->context->{$key} = $val; if($set_to_get_vars === FALSE) { return; } if($val === NULL || $val === '') { unset($self->get_vars->{$key}); return; } if($set_to_get_vars || $self->get_vars->{$key}) { $self->get_vars->{$key} = $val; } }
용도
- XE 기반 코드 간에 변수를 전달합니다.
- 템플릿 코드에 변수를 전달합니다.
파라메터
- string $key : 변수 이름 문자열입니다. Context::set('key', $var); 로 전달한 변수를 Context::get('key'); 로 불러올 수 있습니다.
- mixed $val : 변수에 저장할 내용입니다.
- boolen $set_to_get_vars : FALSE 를 전달하지 않을 경우 GET으로 전달 받은 변수 취급됩니다. getUrl 등 호출시 영향을 줄 수도 있습니다.
예시
- ./classes/editor/EditorHandler.class.php 내용 중 EditorHandler 클래스 setInfo($info) 메소드
-
/** * Superclass of the edit component. * Set up the component variables * * @class EditorHandler * @author NAVER ([email protected]) */ class EditorHandler extends Object { /** * set the xml and other information of the component * @param object $info editor information * @return void * */ function setInfo($info) { Context::set('component_info', $info); if(!$info->extra_vars) { return; } foreach($info->extra_vars as $key => $val) { $this->{$key} = trim($val->value); } } }
-
- ./modules/point/point.admin.view.php 내용 중 dispPointAdminConfig() 메소드
-
/** * @brief Default configurations */ function dispPointAdminConfig() { // Get the list of level icons $level_icon_list = FileHandler::readDir("./modules/point/icons"); Context::set('level_icon_list', $level_icon_list); // Get the list of groups $oMemberModel = getModel('member'); $group_list = $oMemberModel->getGroups(); $selected_group_list = array(); if(count($group_list)) { foreach($group_list as $key => $val) { $selected_group_list[$key] = $val; } } Context::set('group_list', $selected_group_list); //Security $security = new Security(); $security->encodeHTML('group_list..title','group_list..description'); // Set the template $this->setTemplateFile('config'); }
-