라미나스
Laminas![]() | |
원저작자 | Zend 테크놀로지 |
---|---|
개발자 | Linux Foundation |
초기 릴리즈 | 2006년 3월 3일, [1] | 전(
안정된 릴리스 | 3.0.0[2] / 2016년 6월 , 전( |
저장소 | Zend 저장소 |
기입처 | PHP 7 |
운영 체제 | 크로스 플랫폼 |
면허증. | 새로운 BSD 라이선스 |
웹 사이트 | getlaminas |
Laminas Project(이전의 Zend Framework 또는 ZF)는 PHP 7에서 구현되어 새로운 BSD [3]라이센스로 라이센스가 부여된 오픈 소스 객체 지향 웹 애플리케이션 프레임워크입니다.이 프레임워크는 기본적으로 프로페셔널 PHP 기반[4] [5]패키지의 모음입니다.이 프레임워크는 Composer를 사용하여 패키지 종속성 관리자의 일부로 다양한 패키지를 사용합니다. 그 중 일부는 모든 패키지를 테스트하기 위한 PHPunit, 지속적인 통합 서비스를 위한 Travis CI입니다.Laminas는 전면 컨트롤러 솔루션과 [6]함께 모델 뷰 컨트롤러(MVC)를 지원합니다.Laminas에서의 MVC 구현에는 5가지 주요 영역이 있습니다.라우터와 디스패처는 URL로부터의 데이터에 근거하여 실행할 컨트롤러를 결정하고 컨트롤러는 모델 및 뷰와 조합하여 최종 웹 [5]페이지를 작성 및 작성합니다.
2019년 4월 17일, 프레임워크는 Laminas로 알려진 Linux Foundation이 주최하는 오픈 소스 프로젝트로 이행한다고 발표되었습니다[7].
면허증.
Laminas는 Open Source Initiative(OSI)가 승인한 New BSD License에 따라 라이선스가 부여됩니다.신규 투고는 모두 Developer Certificate of Origin [8]확인서를 첨부해야 합니다.
Zend Framework도 New BSD License로 라이선스되었습니다.ZF1의 경우 모든 코드 기여자는 Apache Software Foundation의 CLA에 기초한 기여자 라이센스 계약(CLA)에 서명해야 했습니다.Zend의 Andi Gutmans에 따르면,[9] 이러한 라이선스 및 기여 정책은 상업용 ZF 사용자의 지적 재산 문제를 방지하기 위해 수립되었습니다.ZF2 이후는 CLA [10]프리입니다.
컴포넌트 및 버전 관리
Zend Framework 버전 2.5부터는 컴포넌트가 독립적으로 버전화된 패키지로 분할되고 zendframework/zendframework가 Composer 메타 패키지로 변환됩니다.분할 후 도입된 프레임워크 구성 요소는 메타 패키지에 추가되지 않습니다.
zendframework/zendframework 메타 패키지 릴리스 버전은 3.0.0으로 유지되지만 시멘틱 버전 관리에 따라 프레임워크 구성요소의 최신 호환 버전을 설치하도록 Composer에게 지시합니다.zend-mvc 컴포넌트가 현재 버전 3.1.1, zend-servicemanager가 버전 3.3.0, zend-form이 버전 2.10.2에 설치되도록 합니다.
라미나에는 다음 [11]컴포넌트가 포함됩니다.
요소 | 묘사 |
---|---|
인증 | 다양한 어댑터를 통해 사용자를 인증하고 인증된 ID를 애플리케이션에 제공합니다. |
바코드 | 프로그래밍 방식으로 바코드를 만들고 이미지 또는 PDF로 렌더링합니다. |
캐시 | 다양한 스토리지 옵션을 사용한 캐슁 구현과 콜백, 클래스 및 출력에 대한 성문화된 캐슁 전략. |
캡차 | 피글릿, 이미지, ReCaptcha 등을 사용하여 CAPTCHA를 생성하고 검증합니다. |
코드 | PHP Reflection API, 정적 코드 검색 및 코드 생성에 대한 확장입니다. |
컴포넌트 설치 | 모듈 및 구성 제공자를 애플리케이션 구성에 주입하기 위한 Composer 플러그인입니다. |
설정 | 구성 파일을 읽고 씁니다. |
컨피규레이션애그리게이터 | 다양한 소스에서 구성을 집약 및 병합합니다. |
콘솔 | getopt 구문 또는 루팅을 사용하여 콘솔 응용 프로그램 구축(프롬프트 포함) |
암호 | 강력한 암호화 도구 및 비밀번호 해시 |
DB | 데이터베이스 추상화 계층, SQL 추상화, 결과 집합 추상화 및 RowDataGateway 및 TableDataGateway 구현. |
디버깅 | 디버깅 정보를 HTML로 안전하게 덤프합니다. |
DI | 자동화된 의존관계 주입 및 인스턴스 관리자. |
다이액터로스 | PSR-7 HTTP 메시지의 실장. |
돔 | XPath 또는 CSS 셀렉터를 사용하여 HTML 및 XML 문서를 쿼리합니다. |
에스케이퍼 | HTML, HTML 속성, JavaScript, CSS 및 URL을 안전하게 탈출합니다. |
이벤트 매니저 | 이벤트, 신호 슬롯, 측면 및 관찰자를 구현합니다. |
표현력 | PSR-7 미들웨어를 몇 분 만에 도입. |
먹이다 | Atom 및 RSS 피드를 소비 및 생성하고 Pubsubhubbub와 상호 작용합니다. |
파일 | PHP 클래스 파일을 찾습니다. |
필터 | 데이터 및 파일을 프로그래밍 방식으로 필터링하고 정규화합니다. |
형태 | 단순하고 복잡한 양식을 검증하고 표시할 수 있습니다. 양식을 비즈니스 객체에 캐스팅하거나 그 반대도 마찬가지입니다. |
PSR-7용 HAL | PSR-7용 하이퍼텍스트 애플리케이션 언어(HAL) |
HTTP | HTTP 메시지 및 헤더 추상화 및 HTTP 클라이언트 구현.(PSR-7은 실장되어 있지 않습니다). |
하이드레이터 | 개체를 어레이에 직렬화하거나 그 반대도 마찬가지입니다. |
입력 필터 | 파일을 포함한 웹, API, CLI 등의 입력 세트를 정규화하고 검증합니다. |
국제화 | 사용하시는 어플리케이션의 번역을 제공하고 국제화된 값을 필터링 및 검증합니다. |
JSON | JavaScript 식을 포함하여 PHP에서 JSON을 직렬화/직렬화 해제합니다. |
JSON-RPC 서버 | PHP용 JSON-RPC 구현. |
LDAP | LDAP 디렉토리내의 엔트리의 바인딩, 검색, 변경을 포함한 LDAP 조작을 실행합니다. |
로더 | 자동 로드 및 플러그인 로드 전략. |
로그. | 필터링, 포맷 및 PSR-3 지원을 갖춘 견고한 컴포지트 로거. |
메일 | 다양한 스토리지 및 전송 프로토콜을 사용하여 전자 메일 메시지를 구문 분석, 생성, 저장 및 보냅니다. |
수학 | 암호화된 보안 의사 난수를 생성하고 큰 정수를 관리합니다. |
기억 | 메모리가 제한된 환경에서 데이터를 관리합니다. |
MIME | MIME 메시지 및 부품을 만들고 구문 분석합니다. |
모듈 매니저 | zend-mvc 어플리케이션용 모듈러 어플리케이션 시스템. |
MVC | MVC 애플리케이션, 컨트롤러 및 플러그인을 포함한 Laminas의 이벤트 기반 MVC 계층. |
MVC-콘솔 통합 | zend-mvc와 zend-console 간의 통합. |
MVC-i18n 통합 | zend-mvc와 zend-i18n의 통합. |
fileprg() 플러그인 | zend-mvc 컨트롤러에 대한 파일 업로드 처리가 있는 Post/Redirect/Get 플러그인입니다. |
flash messenger() 플러그인 | zend-mvc 컨트롤러를 통해 플래시 메시지를 만들고 노출하기 위한 플러그인입니다. |
identity() 플러그인 | zend-mvc 컨트롤러 내에서 현재 인증된 ID를 검색하는 플러그인입니다. |
prg() 플러그인 | zend-mvc 컨트롤러의 Post/Redirect/Get 플러그인. |
내비게이션 | 내비게이션 시스템을 구축하기 위해 웹 페이지에 대한 포인터 트리를 관리합니다. |
페이지네이터 | 임의 소스의 데이터 모음에 페이지 연결. |
ACL | 액세스 컨트롤 리스트를 작성, 관리 및 쿼리합니다. |
RBAC | 응용 프로그램에 대한 역할 기반 액세스 제어를 제공하고 쿼리합니다. |
문제 상세 | HTTP API 응답 및 미들웨어의 PSR-7 문제 상세. |
프로그레스바 | 다른 환경에서 진행 표시줄을 생성하고 업데이트합니다. |
PSR-7 브리지 | PSR-7 <-> zend-http 메시지 변환. |
라우터 | HTTP 및 콘솔애플리케이션용 유연한 라우팅 시스템 |
시리얼라이저 | PHP 구조를 다양한 표현으로 직렬화 및 직렬화 해제합니다. |
서버 | Reflection 기반 RPC 서버를 만듭니다. |
Service Manager(Service Manager) | 공장 구동 의존성 주입 용기 |
Service Manager-Di 통합 | zend-manager를 위한 zend-di 통합 |
세션 | PHP 세션 및 스토리지에 대한 개체 지향 인터페이스입니다. |
비누. | SOAP 응용 프로그램의 작성, 서비스 및 액세스 및 WSDL 해석 및 생성을 수행합니다. |
스투드리브 | SPL 확장, 어레이 유틸리티, 오류 핸들러 등 |
층성 | 미들웨어 파이프라인을 구축 및 디스패치하기 위한 PSR-7 미들웨어 기반. |
태그 | 태그 가능한 항목을 조작 및 가중치 부여하고 태그 클라우드를 만듭니다. |
시험 | zend-mvc 애플리케이션의 유닛 테스트를 용이하게 하기 위한 도구. |
본문 | FIGlet 및 텍스트 기반 테이블을 만듭니다. |
URI | 검증용 패실리티가 있는 URI에 대한 객체 지향 인터페이스. |
검증자 | 다양한 도메인에 대한 검증 클래스 및 복잡한 검증 기준을 만들기 위해 검증자를 연결할 수 있습니다. |
보다 | 여러 뷰 레이어, 도우미 등을 지원 및 제공하는 유연한 뷰 레이어 |
XML-RPC | 풀기능 XML-RPC 서버 및 클라이언트 구현 |
XML2JSON | XML 문서를 JSON으로 변환합니다. |
인스톨
공식적으로 지원되는 설치 방법은 Composer 패키지 관리자를 사용하는 것입니다.
Laminas는 61개의 컴포넌트를 포함하는 메타 패키지를 제공하지만 권장되는 방법은 필요한 프레임워크 컴포넌트를 개별적으로 설치하는 것입니다.Composer가 모든 추가 종속성을 해결하고 설치합니다.
예를 들어 MVC 패키지가 필요한 경우 다음 명령을 사용하여 설치할 수 있습니다.
$ composer에는 zendframework/zend-mvc가 필요합니다.
컴포넌트의 전체 리스트는 Zend Framework [11]매뉴얼에 기재되어 있습니다.
프레임워크의 구조
라미나는 컨피규레이션오버 컨벤션접근법을 따르며 특정 애플리케이션 구조를 강요하지 않습니다.zend-mvc 및 zend-expressive용 스켈레톤 어플리케이션을 이용할 수 있으며 어플리케이션 실행 및 좋은 시작점 역할을 하는 데 필요한 모든 것을 제공합니다.
스폰서 및 파트너
Zend Technologies는 PHP의 핵심 기부자인 Andi Gutmans와 Zeev Suraski에 의해 공동 설립되었으며 [12]Zend Framework의 최초 기업 스폰서였다.기술 파트너로는 IBM,[13] Google,[14] Microsoft,[15] Adobe Systems [16]및 StrikeIron이 [17]있습니다.
특징들
라미나의 특징은 [18]다음과 같습니다.
- 모든 컴포넌트는 완전히 객체 지향의 PHP 5이며 E_STRICT를 준수하고 있습니다.이것에 의해, 버그나 크래시 방지 [19]애플리케이션에서의 테스트의 작성이나 코드의 작성에 도움이 됩니다.
- 컴포넌트가 느슨하게 결합되어 상호의존성이 최소화된 임의 사용 아키텍처
- 기본적으로 레이아웃 및 PHP 기반 템플릿을 지원하는 확장 가능한 MVC 구현
- MariaDB, MySQL, Oracle, IBM DB2, Microsoft SQL Server, Postgre를 포함한 여러 데이터베이스 시스템 및 공급업체 지원SQL, SQLite 및 Informix 다이내믹 서버
- 이메일 작성 및 전달, mbox, Maildir, POP3, IMAP4를 통한 검색
- 메모리나 파일 시스템 등 다양한 유형의 백엔드를 지원하는 유연한 캐싱 서브시스템
- Zend Apigility는 리모트 프로시저 호출(RPC) 및 REST(Representational State Transfer) 서비스를 이용하여 API 작성, API 인증, API 문서화, Easy Modification을[20] 개발자에게 지원합니다.
응용 프로그램 개발
Laminas 애플리케이션은 기술 요건을 충족하는 모든 PHP 스택에서 실행할 수 있습니다.Zend Technologies는 Laminas 애플리케이션 실행에 최적화되어 있다고 광고되는 PHP 스택인 Zend Server(또는 Zend Server Community Edition)를 제공합니다.Zend Server는 PHP 및 필요한 모든 확장과 함께 Zend Framework를 설치 프로그램에 포함합니다.Zend Technologies에 따르면 Zend Server는 운영 코드 가속 및 여러 캐싱 기능을 통해 PHP, 특히 Zend Framework 애플리케이션에 향상된 성능을 제공하며 애플리케이션 모니터링 및 진단 [21]기능을 포함합니다.Zend Studio는 Zend Framework와 통합하기 위한 기능을 포함하는 IDE입니다.MVC 뷰, Zend_Tool(Zend Framework의 컴포넌트), 코드 포맷터, 코드 완료, 파라미터 어시스트 [22]등을 제공합니다.Zend Studio는 무료 소프트웨어가 아니지만 Zend Framework와 Zend Server Community Edition은 무료입니다.Zend Server는 Xdebug 등의 일반적인 디버깅툴과 호환성이 있습니다.다른 개발자들은 다른 PHP 스택과 Zend Server와 잘 연동되는 Eclipse PDT와 같은 다른 IDE를 사용할 수 있습니다.Zend 디버깅이 포함된 Eclipse PDT의 사전 구성된 무료 버전은 Zend 웹 사이트에서 사용할 수 있습니다.
코드, 문서 및 테스트 표준
Laminas에 대한 코드 기여는 엄격한 코드, 문서 및 테스트 표준에 따릅니다.대응하는 코드를 릴리스 [23]브랜치로 이동하기 전에 모든 코드가 프로젝트 코딩 표준을 충족하고 유닛 테스트가 80%의 코드 커버리지에 도달해야 합니다.
심플한 클라우드 API
2009년 9월 22일 Zend Technologies는[24] Microsoft, IBM, Rackspace, Nirvanix 및 GoGrid를 포함한 기술 파트너와 함께 Zend Framework 커뮤니티와 협력하여 Simple Cloud API라는 공통 클라우드 애플리케이션 서비스를 개발할 것이라고 발표했습니다.이 프로젝트는 Zend Framework의 일부이며 Zend Framework [25]웹사이트에서 호스팅되지만, API의 최신 버전에 대해 논의하고 다운로드하기 위해 simplecloud[26].org이라는 별도의 사이트가 개설되었습니다.Zend Framework에는 Simple Cloud API와 여러 클라우드 서비스가 포함되어 있습니다.널리 사용되는 클라우드 서비스에 대한 어댑터는 프로덕션 품질에 도달했습니다.
현재의 개발
Zend Framework 3.0은 2016년 6월 28일에 출시되었습니다.여기에는 JSON RPC 서버, XML-JSON 변환기, PSR-7 기능, PHP 7과의 호환성 등의 새로운 컴포넌트가 포함되어 있습니다.Zend Framework 3.0은 Zend Framework 2보다 최대 4배 빠르게 실행되며 패키지는 더 [27]큰 재사용을 위해 분리되었습니다.Zend Framework의 기부자들은 Zend Framework 버전 3.x의 사용을 적극 권장하고 있습니다.Zend Framework 1의 유효기간은 2016-09-28이며, Zend Framework 2의 유효기간은 2018-03-31이다.Zend Framework 2.0의 첫 번째 개발 릴리스는 2010년 [28]8월 6일에 출시되었습니다.이 릴리스에서 변경된 내용은 이 릴리스에서 제거입니다.require_once
스테이트먼트, PHP 5.3 네임스페이스로의 이행, 리팩터링된 테스트 스위트, 재작성Zend\Session
, 및 새로운 추가Zend\Stdlib
두 번째 개발 릴리즈는 2010년 [29]11월 3일입니다.Zend Framework 2.0의 첫 번째 안정적인 릴리스는 2012년 [30]9월 5일에 출시되었습니다.
「 」를 참조해 주세요.
레퍼런스
- ^ "Archives". Zend Framework. Retrieved May 1, 2013.
- ^ "zendframework/zendframework". GitHub. Retrieved May 17, 2017.
- ^ "Introduction to Zend Framework". ZF Programmer's Reference Guide. Archived from the original on 2009-02-11. Retrieved 2009-02-12.
- ^ "PHP 5 Tutorial". www.w3schools.com. Retrieved 2017-02-20.
- ^ a b Company, Zend, a Rogue Wave. "Zend Framework - About". framework.zend.com. Retrieved 2017-02-05.
- ^ 수파르타곤, C. (2011년)MVC 패턴을 기반으로 데이터베이스 관리를 위한 PHP 프레임워크입니다.International Journal of Computer Science & Information Technology(IJCSIT), 3(2), 251-258.
- ^ "From Zend to Laminas". 17 April 2019.
- ^ "Technical Charter (the "Charter") for Laminas Project a Series of LF Projects, LLC". GitHub.
- ^ Gutmans, Andi (2005-10-27). "Zend Framework (post is too long so make sure to grab coffee)". Andi on Web & IT. Retrieved 2009-02-11.
- ^ "Contributor Guide (ZF v1)".
- ^ a b "Documentation for the ZF components".
- ^ "History of PHP and related projects". The PHP Group. Retrieved 2009-02-11.
- ^ LaMonica, Martin (2005-02-25). "IBM backs open-source Web software". cnet.com. Retrieved 2009-02-11.
- ^ Kernel, Sean Michael (2006-12-20). "Google Data Joins PHP Zend Framework". internetnews.com. Retrieved 2009-02-11.
- ^ Krill, Paul (2006-10-31). "Microsoft, Zend boost PHP for Windows". infoworld.com. Retrieved 2009-02-11.
- ^ Potter, Mike (2014-05-21). "Adobe Contributing AMF Support to Zend Framework". The Official Flex Team Blog. Archived from the original on 2009-02-07. Retrieved 2009-02-11.
- ^ "StrikeIron Featured Partners". Retrieved 2009-02-11.
- ^ "About Zend Framework". Archived from the original on 2009-02-11. Retrieved 2009-02-11.
- ^ Zend Framework를 사용하는 이유By SuntecOSS, Retrieved, 2016년 4월 21일
- ^ SuntecOSS의 고품질 API 개발을 위한 오픈 소스 API Builder Zend's Apigility, 2016년 5월 19일 취득
- ^ "Zend site". Zend.com. Retrieved May 17, 2017.
- ^ "Download Zend Studio - IDE, PHP profiler, mobile, unit testing & more". www.Zend.com. Archived from the original on June 1, 2017. Retrieved May 17, 2017.
- ^ "Zend Framework Contributor Guide". July 1, 2006. Archived from the original on May 18, 2008. Retrieved July 14, 2008.
- ^ "Simple Cloud API Press Release". Archived from the original on December 1, 2009. Retrieved 2009-11-05.
- ^ "Zend Framework website". Retrieved 2009-11-05.
- ^ simplecloud.org
- ^ zendframework (2016-06-28). "Zend Framework 3 Released!". Retrieved 2016-10-12.
- ^ "Zend Framework 2.0.0dev1". 2010-08-06. Retrieved 2010-09-04.
- ^ "Zend Framework 2.0.0dev2". 2011-11-03. Archived from the original on 2011-07-16. Retrieved 2011-03-18.
- ^ "Zend Framework 2.0.0 STABLE Released! - Zend Framework - Zend Framework". Framework.zend.com. September 5, 2012. Retrieved June 14, 2013.