맨위로가기

Yii

"오늘의AI위키"는 AI 기술로 일관성 있고 체계적인 최신 지식을 제공하는 혁신 플랫폼입니다.
"오늘의AI위키"의 AI를 통해 더욱 풍부하고 폭넓은 지식 경험을 누리세요.

1. 개요

Yii는 PRADO 프레임워크의 단점을 개선하고자 개발된 객체 지향 PHP 프레임워크이다. 2006년 첫 알파 버전 출시 이후, 2008년 1.0 버전을 시작으로 1.1, 2.0 버전을 거쳐 현재 3.0 버전이 개발 중이다. MVC 패턴을 따르고, 가볍고 고부하 애플리케이션에 적합하도록 설계되었으며, BSD 라이선스를 따른다. 러시아 등 구 공산권 국가에서 널리 사용되며, Yii를 기반으로 하는 CMS 및 CMF도 존재한다.

더 읽어볼만한 페이지

  • PHP 프레임워크 - 드루팔
    드루팔은 드리스 바이테르트가 개발하여 2001년 공개된 PHP 기반의 오픈 소스 콘텐츠 관리 시스템으로, 모듈과 테마를 통해 기능 확장이 가능하며 다양한 기관에서 활용되고 활발한 커뮤니티를 가지고 있다.
  • PHP 프레임워크 - 실버스트라이프 CMS
    실버스트라이프 CMS는 PHP로 제작된 오픈 소스 콘텐츠 관리 시스템으로, 웹사이트 및 웹 애플리케이션을 개발하고 관리하는 데 사용되며, MVC 패턴과 Sapphire ORM 프레임워크를 활용하여 사용자 친화적이고 확장 가능한 플랫폼을 제공한다.
  • PHP 소프트웨어 - 핵 (프로그래밍 언어)
    Hack은 페이스북에서 개발한 프로그래밍 언어이며, PHP와 상호 운용되도록 설계되었고, 정적 타이핑을 도입하여 타입 힌트를 확장하며 PHP 7에도 영향을 미쳤다.
  • PHP 소프트웨어 - HHVM
    HHVM은 페이스북에서 개발한 PHP 및 Hack 언어 실행 엔진으로, JIT 컴파일을 통해 높은 성능을 제공하며 웹 개발 분야에 새로운 가능성을 제시했다.
  • 웹 프레임워크 - 드루팔
    드루팔은 드리스 바이테르트가 개발하여 2001년 공개된 PHP 기반의 오픈 소스 콘텐츠 관리 시스템으로, 모듈과 테마를 통해 기능 확장이 가능하며 다양한 기관에서 활용되고 활발한 커뮤니티를 가지고 있다.
  • 웹 프레임워크 - 실버스트라이프 CMS
    실버스트라이프 CMS는 PHP로 제작된 오픈 소스 콘텐츠 관리 시스템으로, 웹사이트 및 웹 애플리케이션을 개발하고 관리하는 데 사용되며, MVC 패턴과 Sapphire ORM 프레임워크를 활용하여 사용자 친화적이고 확장 가능한 플랫폼을 제공한다.
Yii - [IT 관련 정보]에 관한 문서
기본 정보
종류웹 애플리케이션 프레임워크
라이선스수정 BSD 라이선스
웹사이트Yii 공식 웹사이트
저장소YII 저장소
기술 정보
개발 언어PHP
운영 체제크로스 플랫폼
릴리스 정보
최신 버전2.0.16
최신 릴리스 날짜2019년 1월 30일
첫 릴리스 날짜2008년 12월 3일
상태활발히 개발 중

2. 역사

Yii 프로젝트는 2008년 1월 1일, PRADO의 개발자였던 치앙(찰리) 슈에(중국명: 薛強)가 PRADO의 단점을 개선하고, 더욱 쉽고 확장성이 뛰어나며 고속인 PHP5 기반 프레임워크를 개발하기 위해 시작되었다.[11]

2. 1. 개발 배경

PRADO 프레임워크의 단점으로 인식된 문제점, 즉 복잡한 페이지의 느린 처리, 가파른 학습 곡선, 많은 컨트롤의 사용자 정의 어려움을 해결하려는 시도로 시작되었다. 2006년 10월, 10개월의 개발 기간을 거쳐 Yii의 첫 번째 알파 버전이 출시되었고, 2008년 12월에 공식 1.00 버전이 출시되었다.

Yii 1.1은 2010년 1월 출시되었으며 폼 빌더, 관계형 액티브 레코드 쿼리, 유닛 테스트 프레임워크 등의 기능이 추가되었다. Yii 커뮤니티는 PHP7 지원 및 보안 문제 수정을 포함한 1.1 브랜치의 작업을 계속하고 있다. 마지막 릴리스는 2010년 7월의 버전 1.1.20이었다.

2011년 5월 개발자들은 새로운 PHP 버전을 사용하고 구조적 단점을 수정하기로 결정하면서 버전 2.0을 개발하였다. 2013년 5월 Yii 2.0 코드가 공개되어 2014년 10월 최초 안정판이 출시되었다. PHP는 버전 2.0.9 이후부터 지원되고 있다.[37]

2. 2. 초기 버전 출시 (1.0)

Yii는 PRADO 프레임워크의 단점으로 지적된 복잡한 페이지의 관리 속도 저하, 가파른 학습 곡선, 수많은 컨트롤의 맞춤식 불가 문제를 해결하려는 시도로 시작되었다. 2006년 10월, 10개월 간의 개발 이후 첫 알파 버전의 Yii가 출시되었으며, 2008년 12월에 1.00 정식 릴리스가 출시되었다.[13]

2. 3. 1.1 버전 출시

Yii 1.1은 2010년 1월에 출시되었으며, 폼 빌더, 관계형 액티브 레코드 쿼리, 단위 테스트 프레임워크 등의 기능이 추가되었다. Yii 커뮤니티는 PHP7 지원 및 보안 수정 사항을 포함하여 1.1 브랜치를 계속 유지하고 있다. 최신 버전 1.1.23은 2020년 12월에 출시되었다.[2]

2. 4. 2.0 버전 출시

2011년 5월, 개발자들은 새로운 PHP 버전을 사용하고 구조적 단점을 수정하기로 결정하면서 버전 2.0을 개발하였다.[2] 2013년 5월 Yii 2.0 코드가 공개되었고, 2014년 10월 최초 안정판이 출시되었다. PHP는 버전 2.0.9 이후부터 지원되고 있으며,[37] PHP8은 버전 2.0.38부터 지원된다.[3] 최신 버전 2.0.51은 2024년 7월에 출시되었다.[4]

3. 특징

Yii 프레임워크는 다음과 같은 주요 특징과 장점을 가지고 있다.


  • 컴포넌트 기반[14]이다.
  • 화면 표시 부분과 로직 부분을 분리할 수 있는 MVC 설계 패턴을 따른다.
  • 순수한 객체 지향 프로그래밍으로 구현되었다.
  • 가볍고, Memcache나 APC(Alternative PHP Cache)를 고려하여 고부하 애플리케이션에도 견딜 수 있도록 설계되었다.[15]
  • PHP5 전용으로 개발되었지만,[16] PHP7과 PHP8에서도 통상적으로 작동하며, 호환성을 유지하기 위한 마이너 업데이트가 이루어지고 있다.
  • 러시아, 우크라이나, 중국 등 구 공산권 국가에서 많이 이용된다.[17]
  • 다른 나라에 비해 일본에서는 이용 실적이 적다.[19][20]
  • 후속 버전인 Yii3가 현재 개발 중이다.

3. 1. 기본 특징

Yii는 다음과 같은 특징을 가지고 있다.

  • 컴포넌트 기반[14]
  • 화면 표시 부분과 로직 부분을 분리할 수 있는 MVC 설계 패턴을 따른다.
  • 순수 객체 지향 프로그래밍으로 구현되었다.
  • 가볍고, Memcache나 APC(Alternative PHP Cache)를 고려하여 고부하 애플리케이션에도 견딜 수 있도록 설계되었다.[15]
  • PHP5 전용으로 개발되었지만,[16] PHP7과 PHP8에서도 통상적으로 작동하며, 호환성을 유지하기 위한 마이너 업데이트가 이루어지고 있다.
  • 러시아, 우크라이나, 중국 등 구 공산권 국가에서 많이 이용된다.[17] 특히 러시아에서는 높은 인기를 유지하고 있으며, 2019년 2월 기준으로 세계 웹사이트의 30% 이상을 러시아가 차지하고 있다. Laravel, Symfony, CodeIgniter를 능가하는, 러시아에서 가장 많이 사용되는 PHP 프레임워크이다.[18] (중국에서는 인기가 하락 추세이다.)
  • 다른 나라에 비해 일본에서는 이용 실적이 적다.[19][20]
  • 후속 버전인 Yii3가 현재 개발 중이다.

3. 2. 주요 기능


  • 컴포넌트 기반[14]이다.
  • MVC 디자인 패턴을 따르며, 화면 표시 부분과 로직 부분을 분리할 수 있다.
  • 순수한 객체 지향적이다.
  • 가볍고, Memcache나 APC(Alternative PHP Cache)를 고려하여 고부하 애플리케이션에도 견딜 수 있도록 설계되었다.[15]
  • PHP5 전용[16]이지만, PHP7에서도 통상적으로 작동하며, 호환성을 갖도록 마이너 업데이트가 이루어지고 있다.
  • 복잡한 WSDL 서비스 명세의 생성과 웹 서비스 요청 처리를 관리한다.
  • i18N/L10N을 지원하여 메시지 번역, 날짜 및 시간 서식, 번호 서식 설정 및 인터페이스 등을 지원한다.
  • 다양한 미디어에 캐시 데이터를 저장하고, 여러 수준(데이터 캐싱, 페이지 캐시, 프래그먼트 캐시, 동적 콘텐츠)에서 사용할 수 있으며, 캐시 저장 매체를 변경할 수 있다.[21]
  • 예외 처리(오류 처리) 및 메시지 로깅 기능을 제공한다. 오류 발생 시 예외 처리[22]가 실행되어 해당 뷰 파일을 검색하고 오류 메시지를 표시하며, 오류 로그[23]를 기록·분류하여 오류 메시지를 다른 대상(파일, 이메일 등)으로 전송한다.
  • 보안 대책으로 크로스 사이트 스크립팅 예방 및 쿠키 변조 방지 기능을 제공한다.
  • PHPUnit[24] 및 Selenium[25]을 사용한 단위 테스트 및 기능 테스트[26]를 지원한다.
  • 스켈레톤[27] 애플리케이션 및 CRUD 애플리케이션 등의 코드를 자동 생성[28]할 수 있다.
  • Yii의 컴포넌트 및 명령줄 도구로 생성된 코드는 XHTML 규격을 준수한다.
  • 서드파티가 작성한 코드에서도 작동하도록 설계되어, Yii 애플리케이션에서 PEAR 또는 Zend Framework의 코드를 사용할 수 있다.

3. 3. 사용 현황

Yii는 러시아, 우크라이나, 중국 등 구 공산권 국가에서 많이 사용되고 있다.[17] 특히 러시아에서는 2019년 2월 기준으로 세계 웹사이트의 30% 이상을 차지하며, Laravel, Symfony, CodeIgniter를 제치고 가장 많이 사용되는 PHP 프레임워크로 자리 잡았다.[18]

반면, 한국에서는 다른 나라에 비해 사용 실적이 적은 편이다.[19][20]

4. 확장 기능

Yii의 확장 기능은 "익스텐션"이라고 불린다.[30] Yii 프로젝트에는 사용자가 기여한 확장 저장소가 있으며, 이를 다운로드하여 사용할 수 있다.[31]

4. 1. 익스텐션

Yii 프로젝트는 공식 확장 라이브러리인 ''zii'' 외에도 사용자가 기여한 확장 저장소를 포함하고 있으며, 이는 핵심 프레임워크와 병합되었다.[7] Yii 버전 1.1.0 이후 모든 릴리스에 번들로 제공되었으며 jQuery UI와 같은 추가 위젯을 포함한다. Yii의 확장 기능은 "익스텐션"이라고 불린다.[30] Yii 프로젝트에는 사용자가 기여한 확장 저장소가 있으며, 이를 다운로드하여 사용할 수 있다.[31]

"Zii"라고 불리는 공식 확장 라이브러리는 코어 프레임워크에 통합되었다. 이 기능은 1.1.0 이후의 모든 버전에 번들로 제공되며, grid나 jQuery UI와 같은 추가된 비헤이비어 및 위젯을 포함하고 있다.

4. 2. Zii (공식 확장 라이브러리)

Yii 프로젝트는 공식 확장 라이브러리인 ''zii''를 포함하고 있으며,[7] 이는 핵심 프레임워크와 병합되었다. Yii 버전 1.1.0 이후 모든 릴리스에 번들로 제공되었으며 그리드 및 jQuery UI와 같은 추가 위젯, 비헤이비어를 포함한다.

5. 버전 역사

Yii는 PRADO 프레임워크의 단점을 보완하기 위해 시작되었다. PRADO는 복잡한 페이지 관리 시 속도가 느려지고, 학습 곡선이 가파르며, 컨트롤 맞춤 설정이 어렵다는 문제가 있었다. 2006년 10월, 10개월의 개발 끝에 Yii의 첫 알파 버전이 출시되었고, 2008년 12월에 1.00 정식 버전이 출시되었다.

Yii 1.1은 2010년 1월에 출시되었으며, 폼 빌더, 관계형 액티브 레코드 쿼리, 유닛 테스트 프레임워크 등의 기능이 추가되었다. Yii 커뮤니티는 PHP7 지원 및 보안 문제 수정을 포함하여 1.1 브랜치를 계속 작업하고 있다.

2011년 5월, 개발자들은 새로운 PHP 버전을 사용하고 구조적 단점을 수정하기 위해 버전 2.0 개발을 시작했다. 2013년 5월 Yii 2.0 코드가 공개되었고, 2014년 10월에 첫 안정판이 출시되었다. 버전 2.0.9부터 PHP를 지원한다.[37]

5. 1. 버전별 출시 정보

의미
style="background:Salmon;"구 버전; 더 이상 지원되지 않음
style="background:Khaki;"구 버전; 여전히 지원됨
style="background:#a0e75a;"현재 버전
style="background:SkyBlue;"미래 버전



버전출시일유지보수 만료[38]요구사항[38]
1.01.02008년 12월 3일2010년 12월 31일PHP 5.1.0 이상
1.0.12009년 1월 4일
1.0.22009년 2월 1일
1.0.32009년 3월 1일
1.0.42009년 4월 5일
1.0.52009년 5월 10일
1.0.62009년 6월 7일
1.0.72009년 7월 5일
1.0.82009년 8월 9일
1.0.92009년 9월 6일
1.0.102009년 10월 18일
1.0.112009년 12월 13일
1.0.122010년 3월 14일
1.11.1.02010년 1월 10일2016년 12월 31일PHP 5.1.0 이상
1.1.12010년 3월 14일
1.1.22010년 5월 2일
1.1.32010년 7월 4일
1.1.42010년 9월 5일
1.1.52010년 11월 14일
1.1.62011년 1월 16일
1.1.72011년 3월 27일
1.1.82011년 6월 26일
1.1.92012년 1월 1일
1.1.102012년 2월 12일
1.1.112012년 7월 29일
1.1.122012년 8월 19일
1.1.132012년 12월 30일
1.1.142013년 8월 11일
1.1.152014년 6월 29일
1.1.162014년 12월 21일
1.1.172016년 1월 13일
1.1.182017년 4월 19일
1.1.192017년 6월 8일
1.1.202018년 7월 6일2020년 12월 31일까지 보안 수정 및 PHP 7 호환성 유지
2.02.0.02014년 10월 12일미정PHP 5.4.0 이상[37]
2.0.12014년 12월 7일
2.0.22015년 1월 11일
2.0.32015년 3월 1일
2.0.42015년 5월 10일
2.0.52015년 7월 11일
2.0.62015년 8월 5일
2.0.72016년 2월 14일
2.0.82016년 4월 28일
2.0.92016년 7월 11일
2.0.102016년 10월 20일
2.0.112017년 2월 1일
2.0.122017년 6월 5일
2.0.132017년 11월 3일
2.0.142018년 2월 19일
2.0.152018년 3월 20일


6. 라이선스

Yii는 수정 BSD 라이선스(3조항 BSD 라이선스)를 채택하여, 2차적 저작물의 소스 코드 공개 없이 오픈 소스 및 독점 소프트웨어 개발에 무료로 사용할 수 있다.[10] 저작권 표시, 라이선스 조항, 무보증 취지를 명시하면, BSD 라이선스 소스 코드를 다른 프로그램에 통합하고 결과 소스 코드를 비공개로 유지할 수 있다.

Yii 공식 매뉴얼 텍스트는 GFDL로 배포된다. Yii 콘텐츠는 2차적 저작물의 자유로운 이용을 허용하는 한, 원저작자가 Yii를 사용해 만든 저작물의 복사, 변경, 재배포를 허용한다.[33]

로고는 "크리에이티브 커먼즈 표시-변경 금지 3.0 비이식" 라이선스를 따른다.[34]

6. 1. 소프트웨어 라이선스

Yii는 수정 BSD 라이선스(3조항 BSD 라이선스) 하에 출시되어, 2차적 저작물의 소스 코드를 공개하지 않는 오픈 소스 및 독점 소프트웨어의 웹 애플리케이션 개발에 무료로 사용할 수 있다.[10] 즉, 저작권 표시, 라이선스 조항, 무보증 취지를 문서 등에 기재하면 BSD 라이선스 소스 코드를 다른 프로그램에 통합하고, 통합 후 소스 코드를 비공개로 하는 것도 가능하다.[10]

Yii 공식 매뉴얼에 기재된 텍스트는 GFDL로 배포된다. 일반적으로 Yii 콘텐츠는 Yii로 작성하려는 2차적 저작물을 다른 사람이 자유롭게 이용할 수 있음을 인정하면, 1차 저작권자가 Yii를 사용하여 작성한 저작물의 복사, 변경, 재배포가 가능하다.[33]

로고는 "크리에이티브 커먼즈 표시-변경 금지 3.0 비이식" 라이선스로 배포된다.[34]

6. 2. 콘텐츠 라이선스

Yii는 2차적 저작물의 소스 코드를 공개하지 않는 오픈 소스 및 독점 소프트웨어의 웹 애플리케이션 개발에 무료로 사용할 수 있도록 수정 BSD 라이선스(3조항 BSD 라이선스)를 따른다.[10] 저작권 표시, 라이선스 조항, 무보증의 취지를 문서 등에 기재하면, BSD 라이선스의 소스 코드를 다른 프로그램에 통합하고, 통합 후의 소스 코드를 비공개로 하는 것도 가능하다.

Yii의 공식 매뉴얼에 기재된 텍스트는 GFDL을 따르며, Yii의 콘텐츠는, Yii로 작성하려는 2차적 저작물을 타인이 자유롭게 이용할 수 있음을 인정하는 한, 1차적 저작권자가 Yii를 사용하여 작성한 1차적 저작물의 복사, 변경 및 재배포가 가능하다.[33]

로고는 "크리에이티브 커먼즈 표시-변경 금지 3.0 비이식" 라이선스를 따른다.[34]

7. Yii 기반 CMS 및 CMF

Yii 기반 CMS 및 CMF는 다음과 같다.

참조

[1] 웹사이트 About Yii http://www.yiiframew[...] yiisoft
[2] 웹사이트 What's Yii - CyberBukit TTS https://tts.demo.cyb[...] 2022-02-22
[3] 웹사이트 Yiisoft/Yii2 https://github.com/y[...] 2022-03-05
[4] 웹사이트 Yii 2.0.51 https://www.yiiframe[...] 2024-11-27
[5] 웹사이트 Download Yii Framework http://www.yiiframew[...] 2011-01-18
[6] 웹사이트 Yii 1.1.28 is released and security support extended https://www.yiiframe[...] 2024-04-08
[7] 웹사이트 Yii https://www.joykal.c[...]
[8] 웹사이트 Yii 2.0.16 is released https://www.yiiframe[...] Yiiframework.com 2019-01-30
[9] 웹사이트 yii-chapter1 - index http://yii.juncheng.[...] 2014-02-17
[10] 웹사이트 About Yii http://www.yiiframew[...] 2014-02-17
[11] 웹사이트 yii-chapter1 - index http://yii.juncheng.[...] 2014-02-17
[12] 문서 英語版「Yii」記事の「History」の項目
[13] 웹사이트 About Yii http://www.yiiframew[...] 2014-02-17
[14] 뉴스 PHPフレームワーク「Yii Framework 1.0」登場 https://www.itmedia.[...] 2008-12-08
[15] 웹사이트 Yiiとは - Yii/PHP ぺんたん info http://pentan.info/p[...] 2014-02-20
[16] 웹사이트 PHPのフレームワーク「Yii」 - takakino - Webシステム屋のブログ http://takaakl.blog1[...] 2014-02-20
[17] 웹사이트 いまどきのYiiフレームワーク - SlideShare http://www.slideshar[...] 2014-02-20
[18] 웹사이트 Top Websites Using Yii Framework - SlideShare https://www.similart[...] 2019-02-21
[19] 웹사이트 PHPフレームワークのベンチマーク比較と2013年のトレンド | blog*org http://blog.s-page.o[...] 2014-02-20
[20] 웹사이트 Yiiは日本でなぜ流行らないのか - Yii Framework Forum http://www.yiiframew[...] 2014-02-20
[21] 웹사이트 キャッシュ http://www.yiiframew[...] 2014-02-19
[22] 웹사이트 エラーハンドリング http://www.yiiframew[...] 2014-02-19
[23] 웹사이트 ロギング http://www.yiiframew[...] 2014-02-19
[24] 웹사이트 PHP開発者のためのテストのすゝめ(2):PHPUnitでユニットテスト (1/3) http://www.atmarkit.[...] 2014-02-19
[25] 웹사이트 '[ThinkIT] 第1回:Webブラウザを使ったテストツールSeleniumとは (1/3)' http://thinkit.co.jp[...] 2014-02-19
[26] 웹사이트 機能テスト http://www.yiiframew[...] 2014-02-19
[27] 웹사이트 スケルトン - 用語解説辞典 - NTTPCコミュニケーションズ http://www.nttpc.co.[...] 2014-02-19
[28] 웹사이트 初めに: 初めての Yii アプリケーションの作成 http://www.yiiframew[...] 2014-02-19
[29] 웹사이트 Download Yii Framework http://www.yiiframew[...] 2018-02-12
[30] 웹사이트 エクステンション概要 http://www.yiiframew[...] 2014-02-20
[31] 웹사이트 エクステンションを使う http://www.yiiframew[...] 2014-02-20
[32] 웹사이트 Yii を使ってブログシステムを作る http://www.yiiframew[...] 2014-02-20
[33] 웹사이트 Terms of the Yii Documentation http://www.yiiframew[...] 2014-02-20
[34] 웹사이트 Official Logo http://www.yiiframew[...] 2014-02-20
[35] 웹인용 2.0.15.1 hotfix release https://github.com/y[...] 2018-03-21
[36] 웹인용 About Yii http://www.yiiframew[...] yiisoft
[37] 웹사이트 http://www.yiiframew[...]
[38] 웹인용 Download Yii Framework http://www.yiiframew[...] 2011-01-18



본 사이트는 AI가 위키백과와 뉴스 기사,정부 간행물,학술 논문등을 바탕으로 정보를 가공하여 제공하는 백과사전형 서비스입니다.
모든 문서는 AI에 의해 자동 생성되며, CC BY-SA 4.0 라이선스에 따라 이용할 수 있습니다.
하지만, 위키백과나 뉴스 기사 자체에 오류, 부정확한 정보, 또는 가짜 뉴스가 포함될 수 있으며, AI는 이러한 내용을 완벽하게 걸러내지 못할 수 있습니다.
따라서 제공되는 정보에 일부 오류나 편향이 있을 수 있으므로, 중요한 정보는 반드시 다른 출처를 통해 교차 검증하시기 바랍니다.

문의하기 : help@durumis.com