我有一个特点。为了创意起见,我们称这个特质为 Trait:
trait Trait{
static function treat($instance){
// treat that trait instance with care
}
}
现在,我还有一个使用这个特性的类,User。当尝试使用 User 实例调用 treat 时,一切正常。但我想键入提示,只有使用 Trait 的类的实例应该作为参数给出,如下所示:
static function treat(Trait $instance){...}
遗憾的是,这会导致 fatal error ,表明该函数需要一个 Trait 实例,但给出了一个 User 实例。这种类型提示非常适合继承和实现,但我如何对特征进行类型提示?
最佳答案
你不能像 DaveRandom 说的那样。你不应该。您可能想要实现一个接口(interface)并在其上进行类型提示。然后,您可以使用特征实现该接口(interface)。
关于PHP 类型提示特征,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14157586/