我试图找出如何检查是否已实例化一个类:
include("includes/class.parse.php"); // Include the class
$parse = new parse(); // instantiate the class
if(class_exists('parse')){
echo 'Class instantiated!';
} else {
echo 'Class NOT instantiated!';
}
我是否注释掉了$parse = new parse();
或者我是否获得了“Class instantiated”?
我该怎么检查?
答案 0 :(得分:4)
您可以使用get_class
$parse = new parse(); // instantiate the class
var_dump ( get_class($parse) ); // return false if object is not instantiated
答案 1 :(得分:3)
如果你有一个这种类型的对象,你知道你已经实例化了一个类:
$parse instanceof parse
类不会跟踪实例化了多少个类型的对象。如果您需要,您必须自己完成:
class Foo {
public static $instances = 0;
public function __construct() {
self::$instances++;
}
}
new Foo;
new Foo;
echo 'Foo has been instantiated ', Foo::$instances, ' times';
但是,我没有理由这样做,这是相当无用的信息。