2016-10-28 7 views
20

私は既存のtraitの機能を使い、その上に独自の関数を作成したいが、後でそれをクラスに適用する。PHPで特性を拡張する方法はありますか?

正確にLaravel SoftDeletesの特性を拡張してSaveWithHistoryの機能にしたいので、削除されたレコードとしてレコードの現在の状態のコピーを作成します。私はまたrecord_made_by_user_idフィールドでそれを拡張したい。

+0

の可能性のある重複(http://stackoverflow.com/questions/10056520/extend-traits-with-classes-in- php) –

答えて

42

はいあります。あなたはこのような定義された新しい形質にあります[?PHPのクラスとトレイトを拡張]

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

    public function saveWithHistory() 
    { 
     $this->parentSaveWithHistory(); 
     //your implementation 
    } 

} 
+0

ありがとう、それは完全に動作します。 –

関連する問題