saedyousef/dataobject

PHP 数据对象

v1.0.3 2022-09-09 06:25 UTC

This package is auto-updated.

Last update: 2024-09-23 17:22:21 UTC


README

PHP 数据对象

Total Downloads Latest Stable Version License wakatime Tests


PHP 轻量级数据对象,实现最小化。

安装

从命令行运行

composer require saedyousef/dataobject

用法

安装完此包后,您可以实现主接口 DataObject,并通过使用具有所有已实现方法的特质 DataObjectTrait。以下是一个实现 DataObject 接口的类 PostDataObject 的示例

use SY\DataObject\Contracts\DataObject;
use SY\DataObject\Support\DataObjectTrait;
use SY\DataObject\Support\ObjectReadAccess;
use SY\DataObject\Support\ObjectWriteAccess;

/**
 * @property int|null id
 * @property string title
 * @property string body 
 */
class PostDataObject implements DataObject
{
    use DataObjectTrait;
    use ObjectReadAccess;
    use ObjectWriteAccess; // If you need to write object properties.
    
    public function __construct(array $properties = [])
    {
        $this->_properties = [
            'id'    => null,
            'title' => '',
            'body'  => ''
        ];

        $this->hydrate($properties);
    }
    
    /** 
    * @return int|null
    */
    public function getId()
    {
        return $this->id;
    }
    
    /**
    * @return string
    */
    public function getTitle(): string
    {
        return $this->title;
    }
}