terminusstudio / ezdb
ezDB是一个轻量级库,提供了一种简单快速处理PHP数据库的方法。它管理连接、提供查询构建器和轻量级ORM。
Requires
- php: ^8.1
Requires (Dev)
- phpunit/phpunit: ^9.5
- squizlabs/php_codesniffer: ^3.7
This package is auto-updated.
Last update: 2024-09-30 01:23:11 UTC
README
注意
此分支包含ezDB v1.0的最新版本。此版本与v0.1不完全兼容,也不完全与Laravel Eloquent兼容。
v1.0仅支持PHP 8.1,并且应该在发布时支持PHP 8.2。
请从这里找到v0.1。
描述
ezDB是一个轻量级库,提供了一种简单快速处理PHP数据库的方法。它管理连接、提供查询构建器和轻量级ORM。
本项目受ezSQL和Laravel Eloquent的启发。它从Eloquent借用大部分语法,并感谢所有为此项目工作的出色开发者。
本库中的ORM轻量级且专注于提供基本功能。如果您需要更多功能,可以轻松扩展库或使用类似DoctrineORM的PHP ORM。
安装
使用Composer
可以通过运行以下命令使用Composer安装ezDB,
composer require terminusstudio/ezdb
并在您的脚本中需要autoload.php文件。
require_once __DIR__ . '/vendor/autoload.php';
不使用Composer
也可以手动包含ezDB。这对于只想使用ezDB管理数据库连接的简单项目非常有用。
按照以下步骤操作
- 从这里下载最新的发布版。
- 将ezDB文件夹提取到您的项目中。
- 在您的程序中包含以下行,
require_once '<PATH TO ezDB>/load.php';
- 这将包含ezDB正常工作所需的所有文件。为了提高性能,创建load.php的副本,并仅包含您将使用的类。
ezDB是如何工作的
ezDB可以分为三个不同的部分,
构建器(以及处理器)是ezDB的核心。它们支持从代码中生成SQL查询。
连接类允许您使用多个驱动程序和处理器管理数据库连接。支持查询、预处理语句等。全局类可以管理到多个数据库的多个连接。连接类还支持IConnectionAwareBuilder,它扩展了构建器并提供了对数据库的直接交互支持。
最后,模型层提供基本的ORM并能够管理关系。它使用连接类和自定义构建器,ModelAwareBuilder(从ConnectionAwareBuilder扩展而来)和RelationshipBuilder。它支持更多功能,如时间戳、关系查询、预加载等。
许可证
版权 © Terminus Studio
在MIT许可证下授权,有关详细信息,请参阅LICENSE.md。