getrix / objectmodel
ObjectiveModel PHP 包
Requires
- php: >=7.1.0
- ext-json: *
- envms/fluentpdo: ^1.1
This package is not auto-updated.
Last update: 2024-09-29 20:02:31 UTC
README
PHP 辅助工具,用于访问数据库中的对象及其集合
警告!该项目目前处于深度私有测试阶段。如果您在意任何优点,请勿使用。
安装
- 将此包作为 Composer 依赖项添加
composer require getrix/objectmodel
- 定义数据库回调。这是一个存储在
ObjectModel
类的静态属性$databaseCallback
中的回调函数,应返回一个与数据库链接的 PDO 对象。
用法
快速示例
use Getrix\ObjectModel; Getrix\ObjectModel::setDB( new PDO("mysql:dbname=bbass;host=localhost", "user", "password" ); final class Post extends Getrix\ObjectModel { protected static $table = 'Posts'; protected static $primaryKey = 'id'; public function __construct(array $row = null) { parent::__construct(self::$table, self::$primaryKey, [ "id" => [ "type" => "integer" ], "title" => [ "type" => "string" ], "text" => [ "type" => "string" ] ], $row ); } } $post = Post::getById(1); var_dump($post);
字段规则
任何使用 ObjectModel 处理的对象都应该有一个模式,该模式描述了数据库中每个数据字段的验证和转换规则。模式应在对象构造函数中定义,例如。
[ "id" => [ "type" => "integer" ], "title" => [ "type" => "string" ], "text" => [ "type" => "string" ] ]
模式字段属性
模式字段类型
版本历史
1.2.0
发布于 2018 年 11 月 17 日
- 改进 实现了自定义字段类型基类 (
ObjectFieldType
) - 改进 实现了集合的
extractField
方法。 - 微调 将所有异常文件移动到
src/exceptions
目录。
1.1.1
发布于 2018 年 10 月 7 日
-
修复 改进了文档注释,以便各种 IDE 更易识别。
-
改进 添加了 "关联" 类型的
ObjectField
(见 "模式字段类型")。
1.1.0
发布于 2018 年 8 月 26 日
-
改进 进行了大量代码重构和人性化改进
-
改进 严重重构了
ObjectCollection.php
。 -
修复 修复了
ObjectCollection::fromArray
静态方法中与is_subclass_of
检查相关的错误。 -
新增 引入了
ObjectModelException.php
,其中包含从现在开始在库上下文中使用的异常类。
1.0.2
发布于 2018 年 8 月 10 日
-
修复 修复了与
ObjectModel->getById()
方法相关的与主键字段名称相关的错误。 -
修复 修复了与
ObjectModel->getById()
方法相关的与未使用的orderBy
参数相关的错误(因为该方法的设计仅用于返回一个项目)。 -
改进 在
ObjectModel.php
中记录了所有方法 -
改进 重写了
ObjectModel::getOne
方法,现在基于常用的ObjectModel::simpleQuery
方法。使用getOne
方法的用法未改变。 -
改进 清理了
ObjectModel.php
中的代码
1.0.1
发布于 2018 年 8 月 9 日
-
更新 分离了默认和
string
字段验证类型 -
改进 更新并改进了 readme
-
改进 更新了
ObjectModel->toArray()
:添加了内部集合序列化标志 -
破坏性更改 改变了提供数据库连接的逻辑:现在您应使用
ObjectModel::setDB
方法。
1.0.0
发布于 2018 年 8 月 9 日
- 初始发布