원칙(PHP)

Doctrine (PHP)
독트린
Doctrine logo white.png
안정된 릴리스
2.11.2
저장소
기입처PHP
운영 체제크로스 플랫폼
유형객체-관계 매핑 프레임워크
면허증.MIT
웹 사이트www.doctrine-project.org Edit this at Wikidata

독트린 프로젝트(또는 독트린)는 주로 지속성 서비스와 관련 기능을 제공하는 데 초점을 맞춘 PHP 라이브러리 세트입니다.가장 일반적으로[according to whom?] 알려진 프로젝트는 ORM(Object-Relational Mapper)과 ORM(Object-Relational Mapper)을 기반으로 구축되는 데이터베이스 추상화 계층입니다.

주요 기능 중 하나는 SQL의 객체 지향 방언인 DQL(Strin Query Language)로 데이터베이스 쿼리를 작성하는 옵션입니다.

SymfonyLaminas라는 두 개의 주요 PHP 프레임워크 개발자는 즉시 사용할 수 있는 독트린을 공식 지원하며, 서드파티 독트린 패키지는 Larabel, CodeIgniter 및 기타에 사용할 수 있습니다.

사용 시연

원칙 2의 엔티티는 지속 가능한 속성을 포함하는 경량 PHP 개체입니다.지속 가능한 속성은 Entity Manager를 통해 데이터베이스로 저장 및 검색되는 엔티티의 인스턴스 변수입니다. 즉, 데이터 매퍼 패턴의 구현입니다.

 유저 = 신규 사용자();  유저->이름. = "john2";  유저->패스워드 = "실패";   //$entityManager는 독트린\의 인스턴스입니다.ORM\EntityManager인터페이스(통상은 의존관계 주입을 통해 취득)  $entity Manager->끈질기게 버티다(유저);  $entity Manager->붉어지다();   메아리치다 "ID를 가진 사용자$user->ID저장되었습니다."; 

Attin 1.x는 클래스가 데이터베이스 테이블에 대응하는 액티브레코드 패턴을 따릅니다예를 들어 프로그래머가 데이터베이스에 새로운 "사용자" 개체를 만들고 싶다면 더 이상 SQL 쿼리를 작성할 필요가 없으며 대신 다음과 같은 PHP 코드를 사용할 수 있습니다.

 유저 = 신규 사용자();  유저->이름. = '존";  유저->패스워드 = "실패";  유저->절약하다();  메아리치다 "ID를 가진 사용자$user->ID저장되었습니다."; 

특징들

독트린의 한 가지 특징은 프로젝트를 시작하는 데 필요한 낮은 수준의 구성입니다.교리는 기존 데이터베이스에서 객체 클래스를 생성할 수 있으며 프로그래머는 관계를 지정하고 생성된 클래스에 사용자 정의 기능을 추가할 수 있습니다.다른 많은 프레임워크에서 볼 수 있듯이 복잡한 XML 데이터베이스 스키마를 생성하거나 유지할 필요가 없습니다.

독트린의 또 다른 주요 기능은 하이버네이트에서 영감을 받은 DQL(Doctrine Query Language)이라 불리는 OO(개체 지향) SQL 방언으로 데이터베이스 쿼리를 선택적으로 작성할 수 있는 기능입니다.HQL. 또는Query Builder 클래스(Doctrine_)Query in Intrin 1.x)를 사용하면 유창한 인터페이스를 통해 쿼리를 구성할 수 있습니다.이러한 인터페이스를 통해 개발자는 SQL에 대한 강력한 대체 수단을 얻을 수 있습니다.이것에 의해, 유연성을 유지하면서, 코드 복제 없이 데이타베이스 백엔드를 전환할 수 있습니다.

단, Join을 수행하고 관련 객체를 자동으로 가져오기 때문에 쿼리를 명시적으로 작성할 필요는 없습니다.쿼리를 작성하지 않고도 소규모 프로젝트를 쉽게 구축할 수 있습니다.

독트린의 다른 주목할 만한 특징은 다음과 같습니다.

  • 후크(데이터베이스 입력 및 출력을 검증 또는 수정할 수 있는 기능) 및 이벤트 청취자를 지원하여 비즈니스 관련 로직을 구축한다.
  • 컬럼 집약 상속(유사한 오브젝트를 1개의 데이터베이스 테이블에 저장할 수 있으며, 1개의 타입 컬럼은 특정 오브젝트의 서브타입을 지정합니다.쿼리가 완료되면 항상 올바른 서브클래스가 반환됩니다).
  • memcached, SQLite, APC 등의 여러 백엔드를 사용하는 캐싱 프레임워크
  • ACID 트랜잭션
  • 데이터베이스 이행
  • 프레임워크의 많은 PHP 파일을 하나로 결합하는 "컴파일" 함수로, 프레임워크의 많은 PHP 파일을 포함함으로써 발생하는 성능 저하를 방지합니다.

역사

독트린은 zYne-라고도 알려진 Konsta Vesterinen에 의해 시작되었다.이 프로젝트의 첫 번째 약속은 2006년 4월 13일에 이루어졌다.프로젝트가 더 성숙해지면서, 입양은 활기를 띠기 시작했다.얼마 지나지 않아 커뮤니티가 활발해졌고 개발은 Google Summer of Code 프로젝트에서 정기적으로 기부를 받았다.

독트린 1.0.[1]0은 2008년9월 1일에 출시되었습니다.

2008년 [2]초에 시작된 2.5년간의 개발 끝에 2010년 12월 22일 첫 번째 안정 버전이 출시되었습니다.

영향

독트린은 수십 개의 프로젝트와 많은 다른 사람들에 의해 영향을 받아왔다.가장 큰 영향은 Java ORM 솔루션인 Hibernate와 Ruby on Rails에서 사용되는 ActiveRecord 아키텍처입니다.독트린 프로젝트의 목적은 방문자의 지속적인 흐름을 유지해야 하는 부하가 높은 웹 사이트를 위해 PHP 언어를 위한 동등한 강력한 솔루션을 구축하는 것입니다.이러한 웹사이트의 성능을 향상시키기 위해 원칙 ORM을 사용할 수 있습니다.

「 」를 참조해 주세요.

레퍼런스

외부 링크