强制动态加载的类来扩展或实现接口
任何人都知道在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的构造函数。挖?
没有找到相关结果
已邀请:
2 个回复
喷乡顾沥沪
委婪绷冗诉
http://php.net/manual/en/book.reflection.php http://mark-story.com/posts/view/using-the-php-reflection-api-for-fun-and-profit