PHP переопределяет метод признака признака родительского класса

Я использую Laravel 5.1, но это не относится к этой структуре, это скорее общий вопрос PHP.

Существует родительский класс с указанными признаками:

namespace Illuminate\Foundation\Auth; use Illuminate\Auth\Authenticatable; use Illuminate\Database\Eloquent\Model; use Illuminate\Auth\Passwords\CanResetPassword; use Illuminate\Foundation\Auth\Access\Authorizable; use Illuminate\Contracts\Auth\Authenticatable as AuthenticatableContract; use Illuminate\Contracts\Auth\Access\Authorizable as AuthorizableContract; use Illuminate\Contracts\Auth\CanResetPassword as CanResetPasswordContract; class User extends Model implements AuthenticatableContract, AuthorizableContract, CanResetPasswordContract { use Authenticatable, Authorizable, CanResetPassword; } 

Тогда у меня есть класс User, о котором я хочу сказать,

 namespace App\Api\V1\Models; use Illuminate\Foundation\Auth\User as Authenticatable; use Zizaco\Entrust\Traits\EntrustUserTrait; class User extends Authenticatable { use EntrustUserTrait { EntrustUserTrait::can insteadof \Illuminate\Foundation\Auth\Access\Authorizable; } } 

EntrustUserTrait имеет метод can() который конфликтует с EntrustUserTrait Authorizable . Однако свойство Authorizable принадлежит родительскому классу, поэтому это порождает ошибку. Required Trait wasn't added to App\Api\V1\Models\User .

Я обыскал вокруг, и есть много информации об переопределении признаков, объявленных в дочернем классе, но я не могу найти ничего о переопределении признаков из родительского класса.

Рассмотрим следующий код:

 <?php trait AA { function f() { echo "I'm AA::f".PHP_EOL; } } class A { use AA; } trait BB { function f() { echo "I'm BB::f".PHP_EOL; } } class B extends A { use BB; } $b = new B(); $b->f(); 

Я BB :: f

Я считаю, что черты работают как код для копирования. Код признака обрабатывается как «скопированный» код в классе, в котором он используется, поэтому вы можете притворяться, что этот признак на самом деле не унаследован, но его код является частью родительского класса.