我有这种特殊情况,我的特性有一个方法,我的类有一个方法,都有同名的。
我需要使用两种方法(来自特质和类的方法)内部该类包含相同的方法
namespace Some\Namespace;
use Some\Other\Namespace\TestTrait;
class TestClass {
use TestTrait;
public function index()
{
// should call the method from the class $this->getId();
// should also call the method from the trait $this->getId();
}
private function getId()
{
// some code
}
}
在单独定义的特质中:
trait TestTrait
{
private function getId ()
{
// does something
}
}
请注意,这不是粘贴代码,我可能会有一些拼写错误:P
答案 0 :(得分:5)
namespace Some\Namespace;
use Some\Other\Namespace\TestTrait;
class TestClass {
use TestTrait {
getId as traitGetId;
}
public function index()
{
$this->getId();
$this->traitGetId();
}
private function getId()
{
// some code
}
}