PHPで、子クラスがインターフェイスを宣言しなくても、クラスにインターフェイスを強制的に拡張または実装できるかどうかを知っている人はいますか?
例:
interface Requirements
{
public function __construct();
public function kittens();
}
class DingleBerry
{
public function __construct()
{
// yadda yadda yadda
}
}
// Example of my initial hope
// of what you could do
$kittens = new DingleBerry implements Requirements;
明らかにそれは機能しませんが、インターフェース要件についての事前の知識がないが、それらに従うことを余儀なくされているクラスにロードする方法が必要です。
私の全体的な目標は、クラスがロードされ、そのコンストラクターが呼び出される前に、クラスが要件を実装しているかどうかを確認することです。
だから私はこれを使うことができません:
interface Requirements
{
public function __construct();
public function kittens();
}
class DingleBerry
{
public function __construct()
{
// DO BAD STUFF (i.e. eat your soul)
}
}
// Example of what I CANNOT
// do.
$kittens = new DingleBerry;
if( !($kittens instanceof Requirements) )
{
// eat pizza.
}
DingleBerryのコンストラクターは、要件を実装しているかどうかを確認する前に呼び出されるためです。掘る?