Trait name conflict resolution
<?php
trait Dog
{
public function wantWalkies()
{
echo "Yes please!";
}
}
trait Cat
{
public function wantWalkies()
{
echo "No thanks";
}
}
class Animal
{
use Cat, Dog {
Dog::wantWalkies as protected doggyWalk;
// Dog::wantWalkies as protected insteadof Cat; // This does not work
Dog::wantWalkies insteadof Cat;
Dog::wantWalkies as protected;
}
}
$object = new Animal;
$object->doggyWalk();
$object->wantWalkies();