PHP에서 MVC의 뷰
이제 우리의 액션에 뷰를 추가해 보겠습니다.
우리 프레임워크의 규칙에 따르면 뷰는
/project/views/ 폴더에 저장됩니다.
또한, 우리 프레임워크에는
컨벤션이 있습니다: 뷰 파일의 이름은
액션의 이름과 일치해야 하며,
컨트롤러 이름과 같은 이름의 폴더에
위치해야 합니다.
예를 들어, PageController 컨트롤러가 있다면,
그 모든 뷰는
/project/views/page/ 폴더에 저장해야 합니다.
뷰 파일 자체는 확장자가
.php여야 합니다. 예를 들어, 컨트롤러
PageController에 act 액션이 있다면,
그 뷰는
/project/views/page/act.php에 위치해야 합니다.
어떤 액션에 뷰를 지정하려면, 그 액션이
render 메서드를 호출하여 매개변수로 뷰의
이름을 전달해야 합니다. 뷰의 이름은
소문자로 시작하는 컨트롤러 이름으로 구성되어야 하며,
그 뒤에 /를 통해
액션의 이름이 기록되어야 합니다.
render 메서드는 컨트롤러에서 구현할 필요가 없습니다.
이는 부모 클래스 Core\Controller에서 상속받습니다. 또한,
메서드가 올바르게 작동하려면 작업 결과를
return를 통해 반환해야 합니다.
자, 이제 act 액션을 가진 Page
컨트롤러가 있다고 가정해 보겠습니다. 이 액션에
뷰를 연결해 보겠습니다:
<?php
namespace Project\Controllers;
use Core\Controller;
class PageController extends Controller
{
public function act()
{
return $this->render('page/act');
}
}
?>
이제 우리 뷰의 HTML 코드를 가진 파일을 만들어 보겠습니다:
<div>
이는 page 컨트롤러의
act 액션의 뷰입니다
</div>
설명된 작업을 수행한 다음 주소 표시줄을 통해 우리의 액션에 접근해 보세요. 브라우저에 생성한 뷰의 텍스트가 나타나는지 확인하세요.