본문 바로가기

Yii Framework/블로그 만들기

02. Yii 의 테스트드라이빙

이 곳은 제가 개인적으로 YII framework의 블로그 만들기를 번역해 놓은 곳입니다.

제가 영어 전공자도.. 그렇다고 영어랑 친하지도 않습니다. 

그래서 보시면 뭔가 글도 엉성하고 말이 안맞는게 많습니다.

잘못 오역된 부분이라던지 그런 부분들 친절하게 알려주시면 바로 수정하겠습니다.

이 페지의 원글 http://www.yiiframework.com/doc/blog/1.1/en/start.testdrive



Yii의 테스트

  1. Yii 설치
  2. 기초 어플리케이션 만들기
  3. 어플리케이션의 흐름

이 섹션에서는 출발점이 될 기초 응용 프로그램을 만드는 방법을 설명합니다.

설명을 쉽게하기 위해 웹 서버의 문서 로트를 /wwwroot 라고 가정하고 해당 URL을 http://www.example.com/이라고 합니다.


1. Yii 설치

먼저 Yii Framework를 설치 합니다.

Yii 릴리스 파일(버전 1.1.1 이상)을 www.yiiframework.com 에서 가져와 /wwwroot/yii 디렉토에 압축을 풀어줍니다.

만약을 위해, /www/yii/framework 디렉토리가 있는지 한번 더 확인해 보도록 합니다.



팁 : 
Yii framework는 파일 시스템의 어느 위치 에나 설치할 수 있습니다. 웹 폴더 (문서 루트) 아래 일 필요는 없습니다. Yii의 framework 디렉토리는 모든 프레임 워크 코드를 포함하고 있으며, 이 디렉토리가 Yii 응용 프로그램의 배포에 필요한 유일한 프레임 워크 디렉토리입니다. 설치 한 단일 Yii를 여러 Yii 응용 프로그램에서 사용할 수 있습니다.

Yii를 설치 한 후 브라우저 창을 열고 http://www.example.com/yii/requirements/index.php 이라는 URL에 액세스 하십시오. 

그러면 Yii 릴리스에 포함 된 요구 검사기가 표시됩니다. 

블로그 애플리케이션을 위해서는, Yii이 필요로하는 최소한의 요구뿐만 아니라 SQLite 데이터베이스에 액세스하기 위해 pdo와
pdo_sqlite 라는 두 PHP 확장을 활성화 해야 합니다.


2. 기초 어플리케이션 만들기

다음 yiic 도구를 사용하여 /wwwroot/blog 디렉토리에 기초 응용 프로그램을 만듭니다. yiic 도구 Yii 릴리스에 포함 된 명령 줄 도구입니다. 

이 도구를 사용하여 코드를 생성하여 반복적 인 코딩 작업을 어느 정도 줄일 수 있습니다.

명령 프롬프트를 열고 다음 명령을 실행합니다 :

% /wwwroot/yii/framework/yiic webapp /wwwroot/blog
Create a Web application under '/wwwroot/blog'? [Yes|No]y
......

팁 : 위에서 살펴본 것처럼 yiic 도구를 사용하려면 CLI PHP 프로그램에 경로를 통해서해야합니다. 그렇지 않은 경 다음과 같이하여 명령을 사용할 수 있습니다 :

path/to/php /wwwroot/yii/framework/yiic.php webapp /wwwroot/blog

방금 만든 어플리케이션을 테스트 합니다. 주소창에 http://www.example.com/blog/index.php 를 기입하고 엑세스 합니다.
우리는 이미 완벽하게 작동하는 4개의 페이지가 갖추어진 기초 어플리케이션을 확인할수 있습니다. 홈, 어바웃, 연락처, 로그인 페이지들 입니다.

다음은이 기초 어플리케이션의 내용에 대해 간략하게 설명합니다.


진입 스크립트

먼저 /wwwroot/blog/index.php 라는 진입 스크립트 파일이 있습니다. 이것은 다음과 같은 내용입니다 :

<?php $yii='/wwwroot/framework/yii.php'; $config=dirname(__FILE__).'/protected/config/main.php'; // production mode 에서 다음 줄을 삭제 합니다. defined('YII_DEBUG') or define('YII_DEBUG',true); require_once($yii); Yii::createWebApplication($config)->run();

이것은 웹 사용자가 직접 액세스 할 수있는 스크립트입니다. 진입 스크립트는 먼저 Yii 부트 스트랩 파일 yii.php을 읽습니다.
다음 지정된 설정 응용 프로그램 인스턴스를 생성하여 응용 프로그램을 실행합니다.


기반 응용 프로그램 디렉토리

다음 /wwwroot/blog/protected 라는 응용 프로그램 기반 디렉토리 가 있습니다. 앞으로 작성하는 코드와 데이터의 대부분이 디렉토리에 배치됩니다. 이 디렉토리는 웹 사용자의 접근으로부터 보호되어야합니다.
Apache httpd 웹 서버 를 사용하고 있다면 다음과 같은 . htaccess 파일을이 디렉토리에 저장합니다 :

deny from all

다른 웹 서버를 사용하는 경우, 웹 사용자의 액세스에서 디렉토리를 보호하는 방법에 대해 해당 설명서를 참조하십시오.


3. 어플리케이션의 흐름

Yii가 어떻게 작동하는지 이해하기 쉽도록 사용자가 연락처 페이지에 액세스 할 때의 기초 어플리케이션의 주요 흐름을 설명합니다 :

  1. 사용자가 URL http://www.example.com/blog/index.php?r=site/contact 을 요청합니다.

  2. 요청을 처리하기 위해 항목 스크립트 가 웹 서버에 의해 실행됩니다.

  3. 어플리케이션의 인스턴스가 생성되고 응용 프로그램 초기 구성 파일 /wwwroot/blog/protected/config/main.php 에서 지정된 초기 속성 값이 설정됩니다.

  4. 어플리케이션은 컨트롤러 와 컨트롤러 액션 에 요청을 해결합니다. 연락처 페이지에 대한 요청은 site 컨트롤러와 contact 액션에 해결됩니다 (/wwwroot/blog/protected/controllers/SiteController.php 의 actionContact 메소드).

  5. 어플리케이션은 site 컨트롤러를 SiteController 인스턴스로 만들고 실행합니다.

  6. SiteController 인스턴스는 자신의 actionContact () 메서드를 호출함으로써 contact 작업을 수행합니다.

  7. actionContact 방법은 contact 라는 뷰 를 렌더링하고 웹 사용자에게 제공합니다.
    내부적으로는보기 파일/ wwwroot/blog/protected/views/site/contact.php 을 읽고 레이아웃 파일 /wwwroot/blog/protected/views/layouts/column1.php 의 결과를 포함하여 렌더링 하여 실행하게 됩니다.