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] ' ])