在PHP中是否可以扩展特征?

问题描述 投票:48回答:1

我想使用现有trait的功能并在其顶部创建我自己的trait,以便以后将其应用于类。

我想扩展Laravel SoftDeletes特性以使SaveWithHistory功能,因此它将创建记录的副本作为已删除的记录。我也想用record_made_by_user_id字段扩展它。

php laravel traits php-7
1个回答
107
投票

是,有。您只需要像这样定义新特征:

trait MySoftDeletes 
{
    use SoftDeletes {
        SoftDeletes::saveWithHistory as parentSaveWithHistory;
    }

    public function saveWithHistory() {
        $this->parentSaveWithHistory();

        //your implementation
    }
}
© www.soinside.com 2019 - 2024. All rights reserved.