XpressEngine
  • INTRODUCE
  • 시작하기
    • 권장 사양
    • 터미널 환경 설치
    • 웹 환경 설치
    • 업데이트
    • 문제 해결(디버깅)
  • 사이트 설정
    • 회원 설정 및 관리
    • 관리자 비밀번호 설정
    • 사이트맵 추가 및 제거
    • 컨텐츠 관리 및 신고 집계
    • Store 토큰 설정
    • 익스텐션 설치 / 업데이트
    • 기본 테마 설정
    • SEO 설정
    • 다국어 설정
    • 캡챠 설정
  • 번들 플러그인
    • 미디어 라이브러리
    • 외부페이지 플러그인
    • 플러그인 업로드
  • 개발자 문서
    • 개요
    • 디렉토리 구조
    • 컴포넌트
    • 플러그인
    • 서비스
    • 라이프 사이클
    • 라우팅
    • 컨트롤러
    • 요청
    • 응답
    • 프레젠터
    • 뷰
    • 템플릿
  • 플러그인 개발
    • 개요
    • 기본경로 및 구조
    • 기본 플러그인 생성
    • 플러그인 정보 추가 및 수정
    • 관리자 사이트 메뉴 추가
    • 위젯 개발/제작
    • 모듈 개발/제작
    • 에디터 제작
    • 에디터 툴 제작
    • UI 오프젝트 제작
    • 토글 메뉴 제작
    • 다이나믹 필드 제작
    • 다이나믹 필드 스킨 제작
  • 테마 개발/제작
    • 기본경로 및 구조
    • 기본 테마 생성
    • 서브 테마 활용
    • 설정 파일 작성
    • 테마 편집 기능
  • 스킨 개발/제작
    • 기본경로 및 구조
    • 기본 스킨 생성
    • 설정 파일 작성
  • 서비스
    • 카테고리
    • 캡챠
    • 설정
    • 문서
    • 키생성(Keygen)
    • 메뉴/모듈
    • 이벤트/인터셉션
    • 파일/스토리지
    • 회원/인증
    • 모바일
    • 권한
    • 데이터베이스
    • 메일
    • 프론트엔드
    • 이미지처리
    • 세션
    • 헬퍼
    • 쿠키
    • UI오브젝트/폼빌더
    • 카운터
    • 휴지통
    • 유효성검사
    • 오류처리
    • 테마
    • 위젯박스
  • 프론트엔드 (JS)
    • 프론트 엔드 JS 시작하기
    • Lang
    • Page
    • Page Modal
    • Request
    • Validator
Powered by GitBook
On this page
  • 뷰 사용의 제한
  • 기본 사용법
  • 뷰에 데이터 전달하기
  • 파일 패스로부터 view 반환

Was this helpful?

  1. 개발자 문서

뷰

컨트롤러는 Request를 처리한 다음 다양한 형태의 Response를 반환합니다. GET 요청일 경우 대부분 html 형식으로 Response를 반환할 것이며, 때로는 json 형식으로 반환할 것입니다. POST 요청일 경우에는 대부분 리다이렉트(redirect) 형식으로 반환할 것입니다.

뷰는 컨트롤러가 html 형식의 Response를 만들 때 사용됩니다. 컨트롤러는 html 형식의 Response를 반환하기 위해 우선 필요한 데이터를 생성합니다. 그 다음, 생성된 데이터를 미리 정의된 템플릿에 적용하여 html 형식의 Response를 만들어야 합니다. 이때 뷰에 템플릿 정보와 데이터를 전달하면 뷰는 이를 html로 생성해줍니다.

뷰는 프리젠테이션 로직을 컨트롤러 및 어플리케이션 로직과 분리해주는 역할을 합니다.

뷰 사용의 제한

XE는 웹 브라우저로 html 형식의 응답을 보낼 때, 스킨과 테마를 적용한 후 보내야 합니다. 특별한 경우가 아니라면 컨트롤러에서 뷰를 직접 반환(return)하지 마십시오. 대신 프리젠터를 사용하여 반환하십시오. 반드시 프리젠터를 사용해야만 테마와 스킨이 적용되고 위젯 또한 정상적으로 출력됩니다.

단, 컨트롤러가 아닌 다른 구성요소이거나, 컨트롤러에서라도 반환하는 값이 아니라면, html 스트링을 생성할 때 뷰를 자유롭게 사용하십시오.

기본 사용법

간단한 뷰는 다음과 같습니다:

// plugins/my_plugin/views/greeting.php
<html>
    <body>
        <h1>Hello, <?php echo $name; ?></h1>
    </body>
</html>

뷰는 다음과 같이 브라우저로 보내집니다:

Route::get('/', function()
{
    return view('my_plugin::views.greeting', ['name' => 'James']);
});

위와 같이 view 헬퍼함수에 전달하는 첫 번째 인자는 템플릿 파일의 이름이 됩니다. 두 번째 전달 인자는 템플릿에서 사용하기 위한 데이터의 배열입니다.

템플릿 파일을 지정할 때, <플러그인아이디>:: 형태의 전치사(prefix)를 사용하면 플러그인 디렉토리를 기준으로 하는 상대경로로 파일 경로를 지정할 수 있습니다. 또, 점(.)을 사용하여 중첩된 서브 디렉토리에 있는 파일을 지정할 수도 있습니다.

뷰에 데이터 전달하기

// Using conventional approach
$view = view('greeting')->with('name', 'Victoria');

// Using Magic Methods
$view = view('greeting')->withName('Victoria');

위 예제의 경우 뷰에서는 $name 변수에 Victoria라는 값을 확인할 수 있습니다.

필요한 경우에 view 헬퍼함수에 두 번째 인자로 데이터 배열을 전달할 수도 있습니다:

$view = view('greetings', $data);

이러한 방식으로 정보를 전달할 때,$data는 키/값으로 구성된 배열이어야 합니다. 뷰 안에서 여러분은 {{ $key }}와 같이 각각의 키에 해당하는 값에 엑세스 할 수 있습니다. ($data['$key']는 존재한다고 가정합니다. )

파일 패스로부터 view 반환

필요하다면 절대경로를 기반으로 뷰를 생성할 수도 있습니다:

return view()->file($pathToFile, $data);
Previous프레젠터Next템플릿

Last updated 6 years ago

Was this helpful?