Is there a way to extend a trait in PHP?
laravel, php, php-7, traits
Solution
Yes, there is. You just have to define new trait like this:
trait MySoftDeletes
{
use SoftDeletes {
SoftDeletes::saveWithHistory as parentSaveWithHistory;
}
public function saveWithHistory() {
$this->parentSaveWithHistory();
//your implementation
}
}
Problem
I want to use functionality of an existing `trait` and create my own `trait` on top of it only to later apply it on classes. I want to extend `Laravel SoftDeletes` trait to make `SaveWithHistory` function, so it will create a copy of a record as a deleted record. I also want to extend it with `record_made_by_user_id` field.