티스토리 뷰

728x90
반응형

그전에는 아래처럼 직접 parameters 값을 Object에 대입하여 해서
그 Object변수를 활용했었다.

var params:Object=LoaderInfo( this.root.loaderInfo ).parameters;
var code:String=Config.getCode( params[ "depth1" ] );

하지만 이것을 아래와 같이 바꾸어서 써봤는데 괜찮은듯~
외쿡의 라이브러리에서 거의 배끼다 싶이해서.. 아니 그냥 배꼈다. ㅋㅋ

참고로 이런 클래스를 쓰는 이유는 로컬에서 실행되는 혹은 나 이외에도 다른 사람이 실행해서 봤을때도
일단 결과물을 보게 될것이다.
그때 외부 파일 로드가 절대경로나 알수없는 웹경로로 지정되어 있다면 머가 실행되는지는
소스를 직접 까봐야 알 수 있을 것이다.
물론 최근 데이터까지 갱신되어서 보이지 않아도 된다.
일단 실행은 되어야 하지 않겠는가~ 정말정말 그렇게 하지 않는 결과물이 상당 수 많다.
유지보수 차원에서 혹은 인수인계 받아서 결과물을 뜯어보면 10에서 5이상은 대체적으로 외부 파일 로드가 웹경로로 설정되어 있었다.
그때마다 얼마나 개고생인지......이것은 나만 편하자고 하는 것은 절대 아니다. 다 서로가 편하게 일하자고 하는 것이다.

외부 연동은 여러가지의 경우의 수가 있겠지만 이미지파일, XML파일, swf파일, 사운드, 비디오등의 파일들은 로컬에서 
실행했을때 결과물을 볼 수 있는게 좋다고 본다.  적어도 테스트 파일만이라도......
그리고 XML파일 로드 경우~ 개발자가 없더라도 기본적인 가이드가 있는 상태라면 텍스트 수정 정도는
충분히 잔여 인력이 해결할 수 있는 것들이다.
그 외에도 로드되는 파일의 경로값을 로컬, 웹경로 변수를 두가지를 만들어서 실행할때마다
주석처리를 해 가며 실행하는 건 진짜 모냥 빠지는 행위가 아닐 수 없다.
프록시란 개념이 있다. 데이터 값이 없을때 대체되는 파일을 읽어서 실행시키는 ~ 머 ㅋ ...
어느 정도는 이 개념 좀 탑재하여 개발 점 되었음 좋겠다라는 바램이........
머 ~ 앞으로도 별반 달라지진 않겠지만 ~ 


package oddeye.utils
{
	
	/**
	 * ...
	 * @author ....
	 */
	public class FlashVarUtils
	{
		
		/**
		 * param값으로 받을
		 * @param	key
		 * @return
		 */
		public static function getValue( key:String ):String
		{
                        //StageRefer.as 에서 지정된 parameters값을 호출~
			return  StageRefer.getStage().loaderInfo.parameters[ key ];
		}
		
		/**
		 *
		 * @param	key
		 * @return
		 */
		public static function hasKey( key:String ):Boolean
		{
			return  FlashVarUtils.getValue( key ) ? true : false;
		}
	
	}

}
사용법~(아래는 Document class나 어떤 다른 클래스내에서 작성됨을 기준으로 한다)

//getXmlUrl( "xmlURL" )에서 문자열인 xmlURL은 html에서 플래시로 연결되는 변수명이다.
var xmlURL:String = HistoryCfg.getXmlUrl( "xmlURL"  );

public function getXmlUrl( data:String ):String
{
 if ( !( FlashVarUtils.hasKey( data ) ) )
 {
  return  프록시 혹은 대체할 것을 이곳에 삽입~;
 }else
 {
  return FlashVarUtils.getValue( data );
 }
}
728x90
반응형
댓글