Как я могу работать с трейтами с помощью одноименных методов?
trait FooTrait {
public function fooMethod() {
return 'foo method';
}
public function getRow() {
return 'foo row';
}
}
trait TooTrait {
public function tooMethod() {
return 'too method';
}
public function getRow() {
return 'too row';
}
}
class Boo
{
use FooTrait;
use TooTrait;
public function booMethod() {
return $this->fooMethod();
}
}
ошибка,
Неустранимая ошибка: метод типажа getRow не был применен, потому что есть коллизии с другими методами типажа в Boo в...
Что мне с этим делать?
А также, с двумя одинаковыми именами методов, как я могу получить метод от trait FooTrait
?
$a = new Boo;
var_dump($a->getRow()); // Fatal error: Call to undefined method Boo::getRow() in...
Изменить:
class Boo
{
use FooTrait, TooTrait {
FooTrait::getRow insteadof TooTrait;
}
public function booMethod() {
return $this->fooMethod();
}
}
что, если я хочу получить метод getRow
от TooTrait
также через Boo
? Является ли это возможным?