Sınıf Foo sınıf Bar enjeksiyon gerektirir diyelim. Ben Bar olması gerektiğini biliyor, ya da gelecekte durum Bar değişiklikler, bunu typehint olmamalı çünkü yöntem parametre typehint gerekir?
class Foo {
public function __construct( Bar $bar ) {
// do something
}
}
veya:
class Foo {
public function __construct( $bar ) {
// do something
// the wrong class could be passed in here, but I'm also future-proof in case
// another class provides similar functionality to Bar
}
}
Muhtemelen, "en iyi" cevabı Bar bir arabirim uygulamak yapmak için, ama ben gerçekten sadece yakın gelecekte bir uzantısı sınıf olacak bir arayüz oluşturma aptal hissediyorum. En iyi yöntem nedir?