将方法添加到 DataObject

你可以使用扩展机制将公共方法添加到 DataObject,例如:

class MyMemberExtension extends DataExtension
{
    public function getHashId()
    {
        return sha1($this->owner->ID);
    }
}

当应用于 Member 类时,上面的示例将通过受保护属性 $this->owner 访问 Member 来返回 Member ID 的 sha1 哈希值。例如:

$member = Member::get()->byId(123);
var_dump($member->getHashId()); // string(40) "40bd001563085fc35165329ea1ff5c5ecbdbbeef"