guilhermeabel / matcha-orm
轻量级且灵活的PHP对象关系映射(ORM)库
dev-master
2023-07-12 02:53 UTC
Requires
- php: >=8.1
- ext-json: *
- ext-pdo: *
Requires (Dev)
- doctrine/dbal: ^2.10
- phpunit/phpunit: ^9.0
- squizlabs/php_codesniffer: 3.*
This package is auto-updated.
Last update: 2024-09-12 05:43:52 UTC
README
Matcha ORM 是一个轻量级且灵活的PHP对象关系映射(ORM)库。它提供了一个易于使用的API,用于处理关系型数据库,使开发者能够通过面向对象的方式来操作数据。
特性 ✨
- ✅ CRUD操作(创建、读取、更新、删除)
- 🗺️ 将类映射到数据库表,将属性映射到列
- 🔍 查询和过滤数据
- 📦
迁移和模式管理(即将推出...) - 🧑🤝🧑
实体间的关系(一对一、一对多、多对多) - 🚛
懒加载和预加载 - 🔄
事务和并发控制
安装 📦
您可以使用Composer安装Matcha ORM
composer require guilhermeabel/matcha-orm
入门 🏁
要开始,您需要定义数据库连接常量
<?php define('DB_NAME', 'matcha'); define('DB_USER', 'root'); define('DB_PASS', ''); define('DB_DRIVER', 'mysql'); define('DB_HOST', 'localhost');
接下来,创建一个扩展MatchaORM\Model类的模型类,并将其映射到数据库表
use MatchaORM\Model; class User extends Model { protected $fillable = ['name', 'email', 'password']; }
请确保定义$fillable属性,以指定可以批量分配的列。
MatchaORM将自动使用之前定义的数据库配置常量创建一个新的连接实例。
现在您可以使用User模型执行CRUD操作等操作
// Create a user $user = new User(); $user->name = 'John Doe'; $user->email = 'johndoe@example.com'; $user->save(); // Update a user $user = User::find(1); $user->name = 'John Doe'; $user->email = 'johndoe@example.com' . rand(1, 100); $user->save(); // Delete a user $user = User::find(1); $user->delete();