PHP 类型提示特征
2022-08-30 12:29:34
我有一个特质。为了创造力,让我们称这种特质为特质:
trait Trait{
static function treat($instance){
// treat that trait instance with care
}
}
现在,我还有一个使用这个特征的类,User。当尝试使用 User 实例调用 treat 时,一切正常。但我想类型提示,只有使用 Trait 的类的实例才应该作为参数给出,如下所示:
static function treat(Trait $instance){...}
然而,可悲的是,这会导致一个致命错误,即该函数正在期待一个 Trait 的实例,但给出了 User 的实例。这种类型的类型提示非常适合继承和实现,但是我如何类型提示特征?