我不能这样做,但想知道什么会起作用:
is_object(new Memcache){
//assign memcache object
$memcache = new Memcache;
$memcache->connect('localhost', 11211);
$memcache->get('myVar');
}
else{
//do database query to generate myVar variable
}
我不能这样做,但想知道什么会起作用:
is_object(new Memcache){
//assign memcache object
$memcache = new Memcache;
$memcache->connect('localhost', 11211);
$memcache->get('myVar');
}
else{
//do database query to generate myVar variable
}
您可以使用class_exists()
来检查一个类是否存在,但如果您可以实例化该类,它将不会返回!
你不能的原因之一可能是它是一个抽象类。要检查这一点,您应该在检查class_exists()
.
对于上面的例子,这可能是不可能的(有一个抽象类,不检查它),但在其他情况下可能会让你头疼:)
//first check if exists,
if (class_exists('Memcache')){
//there is a class. but can we instantiate it?
$class = new ReflectionClass('Memcache')
if( ! $class->isAbstract()){
//dingdingding, we have a winner!
}
}
if (class_exists('Memcache')){
//assign memcache object
$memcache = new Memcache;
$memcache->connect('localhost', 11211);
$memcache->get('myVar');
}
else{
//do database query to generate myVar variable
}
退房class_exists()
。
您可以使用该class_exists
函数查看一个类是否存在。
在手册中查看更多信息:class_exists