NexaORM 은 데이터베이스 상호 작용을 단순화하고 PHP 애플리케이션 개발을 간소화하도록 설계된 최신 PHP ORM(객체 관계형 매핑) 라이브러리입니다. 이는 데이터베이스 엔터티, 관계 및 쿼리를 관리하는 가볍고 직관적인 방법을 제공합니다.
속성 주석(엔티티): 표현 주석을 사용하여 엔터티 속성을 정의하여 데이터베이스 열을 PHP 속성에 쉽게 매핑할 수 있습니다.
모델: 애플리케이션 내에서 데이터 객체를 표현하고 관리하기 위한 기반을 제공합니다.
단순화된 쿼리 작성: 간단하고 직관적인 쿼리 빌더를 사용하여 데이터베이스 쿼리를 손쉽게 구성합니다.
관계: 간단한 주석을 사용하여 엔터티 간의 관계를 정의하고 작업합니다.
자동 마이그레이션: NexaORM 에는 엔터티 정의의 변경 사항과 일치하도록 데이터베이스 스키마를 업데이트하는 프로세스를 단순화하는 자동 마이그레이션 기능이 포함되어 있습니다.
유연한 구성: NexaORM 은 개발자가 특정 프로젝트 요구 사항에 맞게 라이브러리를 조정할 수 있도록 유연성을 염두에 두고 설계되었습니다.
지능형 자동 생성 마이그레이션:
지루한 수동 마이그레이션 생성에 작별을 고하세요! NexaORM 의 지능형 자동 생성 기능은 엔터티를 분석하고 그에 따라 데이터베이스 스키마를 업데이트하는 데 필요한 마이그레이션을 생성합니다. 이 강력한 기능은 다음과 같은 여러 가지 이점을 제공합니다.
시간과 노력 절약: 마이그레이션을 수동으로 작성하는 데 시간이 많이 걸리고 오류가 발생하기 쉬운 프로세스를 제거합니다.
오류 감소: 엔터티와 데이터베이스 스키마 간의 일관성을 보장하여 오류 및 데이터 불일치 위험을 최소화합니다.
효율적인 개발: 데이터베이스 관리의 중요한 단계를 자동화하여 개발 워크플로를 간소화합니다.
간편한 데이터베이스 관리: NexaORM 다양한 작업을 단순화하고 자동화하여 데이터베이스 관리를 한 단계 더 발전시킵니다.
자동 스키마 업데이트: 수동 개입 없이 진화하는 엔터티에 맞게 데이터베이스 스키마를 쉽게 업데이트합니다.
롤백 지원: 필요한 경우 이전 데이터베이스 버전으로 안전하게 되돌려 예상치 못한 문제가 발생할 경우 안전망을 제공합니다.
버전 제어 통합: 마이그레이션을 버전 제어 시스템과 통합하여 원활한 협업과 변경 사항 추적을 지원합니다.
원활한 통합:
NexaORM 기존 개발 환경과 완벽하게 통합됩니다.
커뮤니티 및 지원:
NexaORM 적극적으로 지원하는 개발자 및 기여자로 구성된 활발한 커뮤니티에 참여하세요.
NexaORM 선택하고 지능형 자동 생성 마이그레이션, 손쉬운 데이터베이스 관리, 원활한 통합 및 지원 커뮤니티의 기능을 활용하세요. PHP 애플리케이션을 위해 보다 효율적이고 오류 없는 개발 워크플로를 수용하세요.
Composer를 사용하여 패키지를 설치합니다.
composer require v1p3r75/nexa-orm
// Define entity
#[Entity]
class UserEntity
{
#[PrimaryKey]
#[SmallInt]
#[AutoIncrement( true )]
public int $ id ;
#[Strings]
#[DefaultValue( ' John ' )]
public string $ username ;
#[Number]
#[ForeignKey(ProfileEntity::class, ' id ' , [Nexa:: ON_DELETE => Nexa:: CASCADE , Nexa:: ON_UPDATE => Nexa:: CASCADE ])]
#[Comment( ' user profile ' )]
#[Nullable]
public int $ profile ;
#[DateAndTime]
#[DefaultValue(Nexa:: DATETIME_NOW )]
public DateTime $ created_at ;
}
// Create a model for database interation
use Nexa Models Model ;
use Nexa Test Entities UserEntity ;
class User extends Model
{
protected $ entity = UserEntity::class;
}
User:: insert ([ ' username ' => ' John Doe ' , ' email ' => ' [email protected] ' ])