Yii framework

본 토픽은 현재 준비중입니다. 공동공부에 참여하시면 완성 되었을 때 알려드립니다.

Model-View-Controller (MVC)

출처 : http://www.yiiframework.com/doc/guide/1.1/en/basics.mvc

 Model-View-Controller (MVC)

  1. A typical Workflow 

Yii는 웹 프로그래밍에서 널리 사용되는 모델 - 뷰 - 컨트롤러 (MVC) 디자인 패턴을 구현합니다. MVC는 사용자 인터페이스에서 비즈니스 로직을 분리하는 것을 목적으로 하고 있습니다. 이렇게 함으로써 개발자는 다른 영향을 주지 않고 한쪽을 쉽게 변경할 수 있습니다. 

MVC에서는 

모델 (M)은 정보(데이터)와 비즈니스 규칙을 표현하고 

뷰 (V)는 폼이나 텍스트와 같은 사용자 인터페이스를 포함하고 

컨트롤러 (C)는 모델과 뷰의 통신을 관리합니다 .

MVC를 구현하는 것 외에도 Yii는 응용 프로그램은 프론트 컨트롤러도 도입하고 있습니다. 이것은 요청 처리를 위한 실행 컨텍스트를 캡슐화 한 것입니다. 응용 프로그램은 사용자 요청에 대한 몇 가지 정보를 수집하여 추가 처리를 진행하기에 적절한 컨트롤러에 요청을 전달합니다.

다음 그림은 Yii 응용 프로그램의 정적 구조를 보여줍니다. 

                        Static structure of Yii application

1. 일반적인 워크 플로우 

다음 그림은 Yii 응용 프로그램이 사용자 요청을 처리 할 때의 일반적인 워크 플로우를 보여줍니다.

                      Typical workflow of a Yii application

  1. 사용자가 URL http://www.example.com/index.php?r=post/show&id=1 에 따라 요청합니다. 웹서버는 부트 스트랩 스크립트 index.php 를 실행하여 요청을 처리합니다.
  2. 부트 스트랩 스크립트(index.php)는 응용 프로그램 인스턴스를 생성하고 그것을 실행합니다.
  3. 응용 프로그램은 상세한 사용자 요청 정보를 request라는 응용 프로그램 구성요소에서 얻습니다.
  4. 응용 프로그램은 urlManager라는 응용 프로그램 구성요소 덕분에 요구되는 컨트롤러와 액션을 결정합니다. 이 예제에서는 컨트롤러는 post에서 PostController 클래스를 보여줍니다. 그리고 액션 show이지만 그 실제 의미는 컨트롤러에 의해 결정됩니다.
  5. 응용 프로그램은 사용자 요청을 계속 처리하기 위해 요청된 컨트롤러의 인스턴스를 생성합니다. 컨트롤러는 액션 show가 컨트롤러 클래스의 actionShow 방법이라고 결정합니다. 그리고 행동에 연관된 필터 (예를 들어 액세스 제어 및 벤치 마크)을 생성하여 실행합니다. 작업은 필터에 의해 허용된 경우에만 실행됩니다.
  6. 액션은 ID가 1 인 Post 모델 을 데이터베이스에서 읽습니다.
  7. 액션은 Post 모델을 사용하여 show 라는 뷰를 표시합니다.
  8. 뷰는 Post 모델의 특성(속성)을 읽어봅니다.
  9. 뷰는 여러 위젯을 실행합니다.
  10. 뷰가 렌더링한 결과는 레이아웃에 포함됩니다.
  11. 액션은 뷰 그리기를 완료하고 결과를 사용자에게 표시합니다. 

댓글

댓글 본문
  1. everdevel
    이고잉님 최고~^^
버전 관리
투리얼
현재 버전
선택 버전
graphittie 자세히 보기