Existe-t-il un moyen d'étendre le trait en PHP?

Je veux utiliser la fonctionnalité de trait existante et créer mes propres fonctions au - dessus de celle-ci, seulement pour l'appliquer plus tard sur les classes.

Précisément, je veux étendre Laravel SoftDeletes trait pour faire SaveWithHistory fonction, de sorte qu'il va créer une copie d'un état actuel d'un enregistrement en tant qu'enregistrement supprimé. Je veux aussi l'étendre avec record_made_by_user_id Champ.

29
demandé sur 7ochem 2016-10-28 09:14:10

1 réponses

Oui, il est. Vous devez définir un nouveau trait comme ceci:

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

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

}
67
répondu Filip Koblański 2016-10-28 06:25:00