silverstripe 向DataObject添加方法

示例

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

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

当应用于Member该类时,以上示例将通过protected属性访问via返回ID的sha1哈希值。例如:MemberMember$this->owner

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