<?php
trait first_trait
{
function first_function()
{
echo "From First Trait\n";
}
}
trait second_trait
{
use first_trait {
first_trait::first_function as second_function;
first_trait::second_function insteadof first_function;
}
function first_function()
{
echo "From Second Trait\n";
}
}
class first_class
{
use second_trait;
}
$obj = new first_class();
// Output: From Second Trait
$obj->first_function();
// Output: From First Trait
$obj->second_function();
Fatal error: A precedence rule was defined for first_trait::second_function but this method does not exist in /in/X1LaZ on line 10
Process exited with code 255.
Fatal error: A precedence rule was defined for first_trait::second_function but this method does not exist in /in/X1LaZ on line 21
Process exited with code 255.