【发布时间】:2014-03-30 15:22:25
【问题描述】:
我想知道如何检查我是否实例化了一个类:
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(); 我是否得到“类实例化”?
如何检查?
【问题讨论】:
-
如果你想防止两次实例化你的类,你正在寻找singleton pattern
-
请注意,术语“实例化”通常是指正在实例化的对象,而我们所说的“已定义”类。你似乎混合了这个。如果该类未定义,那么您应该在第 2 行得到一个运行时错误。之后进行测试几乎没有意义。如果您真的想测试该类的 object 是否已被实例化,那么
class_exists()无济于事。相反,您必须测试对象是否存在以及它是否是相关类的实例化(is_a()或get_class()))... -
请说明你(认为你)为什么需要这些信息。