뷰 작성 방법
자바스크립트 추가
BH_Application클래스의 JSAdd 정적메소드를 사용.
첫번째 인자로 스크립트 파일, 두번째 인자로 숫자값(기본값은 10). 숫자가 낮을수록 상단에 출력합니다.
// 예제
// '/Skin/js/board.js' 파일을 불러옵니다.
BH_Application::JSAdd('board.js', 200);
위의 코드는 아래와 같이 변환됩니다.
<script src="/Skin/js/board.js" charset="utf8"></script>
CSS 추가
BH_Application클래스의 CSSAdd 정적메소드를 사용.
첫번째 인자로 CSS 파일, 두번째 인자로 숫자값(기본값은 10). 숫자가 낮을수록 상단에 출력합니다.
//예제
BH_Application::CSSAdd('board.css', 200);
위의 코드는 아래와 같이 변환됩니다.
<link rel="stylesheet" href="/Skin/css/board.css">
컨트롤러에서 BH_Application::View 메소드의 인자로 넘겨진 값은 다음과 같습니다.
첫번째 인자가 string 값이면 html 파일의 위치를 나타냅니다.
인자중 하나의 값이 모델객체이면 $Model 변수에 할당됩니다.
인자중 하나의 값이 객체 또는 배열이면 $Data 변수에 할당됩니다.
// 예제
// 컨트롤러에서 BH_Application::View메소드 사용
// '$this->model'은 MemberModel 클래스 객체
BH_Application::View('/Member/Name', $this->model, array('name' => '홍길동'));
위에서 호출한 html 위치는 '/Skin/Member/Name.html'입니다. 라우터 설정에 따라 변경될 수 있습니다.
html로 컨트롤에서 전달받은 변수 사용
// 배열인자로 넘겨진 변수
<?php echo $Data['name']; ?>
// 모델인자로 넘겨진 변수
<?php echo $Model->data['name']->value; ?>
컨트롤러에서 뷰로 넘겨야 할 자료가 많다면 BH_Application::$data 정적 멤버변수를 사용하세요.
약어.
php를 '개인적'으로 간략하게 쓰기 위해 약어를 만들었습니다.
굳이 약어를 쓸 필요는 없고, 필요하다면 별도의 약어를 만들어 쓰셔도 됩니다.
약어 변경에 사용된 파일 : '/Common/HtmlConvert.php', '/Custom/replace.pattern.php'
// 원본 그대로 출력
<?p. 'test' ?> -> <?php echo ('test'); ?>
// html 태그를 해제하여 출력
<?v. 'test' ?> -> <?php echo v('test'); ?>
// html 태그를 출력하지만 스크립트를 제거
<?p. 'test' ?> -> <?php echo vr('test'); ?>
// html 태그를 해제하고, 줄바꿈을 <br>태그를 붙여 출력
<?p. 'test' ?> -> <?php echo nl2br(v('test')); ?>
// 모델 데이터의 표시명을 출력
<?mt('test') ?> -> <?php echo $Model->data['test']->displayName; ?>
// 모델 데이터의 값을을 원본 그대로 출력
<?mp('test') ?> -> <?php echo $Model->data['test']->value; ?>
// 모델 데이터의 값으로 html 태그를 해제하여 출력
<?mv('test') ?> -> <?php echo $Model->data['test']->Safe(); ?>
// 모델 데이터의 값으로 html 태그를 출력하지만 스크립트를 제거
<?mvr('test') ?> -> <?php echo $Model->data['test']->SafeRaw(); ?>
// 모델 데이터의 값으로 html 태그를 해제하고, 줄바꿈을 <br>태그를 붙여 출력
<?mvb('test') ?> -> <?php echo $Model->data['test']->SafeBr(); ?>
// 모델 데이터 특성에 따라 input, textarea, select 등 사용자 입력 태그를 출력
<?minp('test') ?> -> <?php echo $Model->data['test']->HTMLPrintInput(); ?>
// ENUM으로 설정된 모델 데이터의 값으로 설정된 키의 값을 출력
<?menum('test') ?> -> <?php echo $Model->data['test']->GetEnumValues(); ?>
// 개발자가 설정한 따라다닐 쿼리 파라미터들을 앞에 '&'를 붙여서 출력합니다. 입력한 값은 제외할 파라미터명입니다.
<?fn. 'param' ?> -> <?php echo \BH_Application::GetFollowQuery('param', '&'); ?>
// 개발자가 설정한 따라다닐 쿼리 파라미터들을 앞에 '?'를 붙여서 출력합니다. 입력한 값은 제외할 파라미터명입니다.
<?fq. 'param1,param2' ?> -> <?php echo \BH_Application::GetFollowQuery('param1,param2', '?'); ?>
// 접속 URL에서 액션을 제외한 URL 경로를 재설정합니다.
<?a. 'action' ?> -> <?php echo BH_Application::URLAction('action'); ?>
// 접속 URL에서 컨트롤러를 제외한 URL경로를 재설정합니다.
<?c. 'controller' ?> -> <?php echo BH_Application::URLBase('controller'); ?>
// 파일을 변환한 후 require 합니다.
<?inc. '/user/info' ?> -> <?php ReplaceHTMLFile(\Paths::DirOfSkin().'/user/info.html', \Paths::DirOfHtml().[code]); require \Paths::DirOfHtml().'/user/info.html'; ?>