我有这种特殊情况,我的特性有一个方法,我的类有一个方法,都有相同的名称.
我需要使用两种方法(特征和类中的方法)在该类中包含相同的方法
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
解决方法:
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
}
}