如何在一个类中使用一个特点几次?(How to use a trait several times

2019-07-04 03:43发布

下面的代码:

trait T {
    function foo() {}
}

class C {
    use T { T::foo as bar; }
    use T { T::foo as baz; }
}

产生以下错误:

性状方法bar尚未应用,因为有与C以外的性状的方法碰撞

是否有可能在一个类中使用一个特质两次?

Answer 1:

“进口”的特质定义的方法以不同的名称多次这样做:

class C {
  use T {
    foo as bar;
    foo as baz;
  }
}


Answer 2:

是的,你可以使用一个特质两次:

trait T {
    function foo() {}
}

class C {
    use T { T::foo as bar; T::foo as baz; }
}


文章来源: How to use a trait several times in a class?
标签: php traits