最佳答案
我想知道为什么 PHP Trait (PHP 5.4)不能实现接口。
来自 user1460043的更新的答案 = > ... 不能要求使用它来实现特定接口 的类
我明白这可能是显而易见的,因为人们可能认为,如果 Class A
使用的是实现 interface I
的 Trait T
,那么 Class A
就应该非直接实现 interface I
(这是不正确的,因为 Class A
可以重命名 trait 方法)。
在我的例子中,trait 是从使用 trait 的类实现的接口调用方法。
Trait 实际上是接口的一些方法的实现。 因此,我想在代码中“设计”每个想要使用 trait 的类都必须实现接口。这将允许 Trait 使用接口定义的类方法,并确保它们存在于类中。