rossriley / doctrine-entity-base

单类包,为 Doctrine 实体提供基础获取/设置函数

1.0.0 2014-11-17 11:45 UTC

This package is not auto-updated.

Last update: 2024-09-14 17:05:59 UTC


README

此基类旨在为实体类提供一些开箱即用的钩子。

扩展

创建你的实体类并简单地扩展此基类。例如

<?php

namespace Myproject;

use Doctrine\Entity\Base;

class Myentity extends Base
{
    protected $option1;
    protected $option2;
    
}

?>

使用数据构造

你现在可以创建一个新的实体类,并预先用数据填充它。

$object = new Myentity(['option1'=>'test','option2'=>'test']);

属性获取器和设置器

您可以通过获取器和设置器语法获取和设置属性。

$object = new Myentity();
$object->option1 = 'test';
echo $object->option1; // 'test'

支持方法获取器和设置器

如果您希望使用方法来获取和设置,这同样适用

$object = new Myentity();
$object->setOption1('test');
echo $object->getOption1(); // 'test'

序列化

您可以通过调用 serialize() 方法快速序列化您的实体对象。

$object = new Myentity();
$object->setOption1('test');
print_r($object->serialize()); // ['option1'=>'test', 'option2'=>'']

提供自己的方法。

如果您想覆盖对象上任何属性的默认行为,则可以通过提供自己的方法来实现。这些方法将始终在回退行为之前使用。

<?php

namespace Myproject;

use Doctrine\Entity\Base;

class Myentity extends Base
{
    protected $option1;
    protected $option2;
    
    
    public function setOption1($val)
    {
        $this->option1 = json_encode($val);
    }
    
    public function getOption1()
    {
        return json_decode($val);
    }
    
    public function serializeOption1()
    {
        return json_decode($val);
    }
    
}

?>