<?php
namespace hippos;
trait test {
public static function getClassName() {
return 'hi hippo';
}
}
namespace lions;
trait test {
public static function getClassName() {
return 'hi giraffe';
}
}
namespace girrafe;
use lions\test;
use hippos\test as hipposTest;
class lemons {
use hipposTest, test {
test::getClassName insteadof hipposTest;
}
public function sup() {
var_dump(method_exists('lemons', 'getClassName'));
var_dump(method_exists(get_class(), 'getClassName'));
var_dump(method_exists(get_class(), 'myGetClassName'));
echo $this->getClassName();
echo $this->myGetClassName();
}
}
(new \girrafe\lemons)->sup();
bool(false)
Deprecated: Calling get_class() without arguments is deprecated in /in/Lmv0u on line 30
bool(true)
Deprecated: Calling get_class() without arguments is deprecated in /in/Lmv0u on line 31
bool(false)
hi giraffe
Fatal error: Uncaught Error: Call to undefined method girrafe\lemons::myGetClassName() in /in/Lmv0u:33
Stack trace:
#0 /in/Lmv0u(37): girrafe\lemons->sup()
#1 {main}
thrown in /in/Lmv0u on line 33
Process exited with code 255.
bool(false)
bool(true)
bool(false)
hi giraffe
Fatal error: Uncaught Error: Call to undefined method girrafe\lemons::myGetClassName() in /in/Lmv0u:33
Stack trace:
#0 /in/Lmv0u(37): girrafe\lemons->sup()
#1 {main}
thrown in /in/Lmv0u on line 33
Process exited with code 255.
Output for 5.5.24 - 5.5.35, 5.6.8 - 5.6.21
bool(false)
bool(true)
bool(false)
hi giraffe
Fatal error: Call to undefined method girrafe\lemons::myGetClassName() in /in/Lmv0u on line 33
Process exited with code 255.