文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档>php之class_exists慎用

php之class_exists慎用

时间:2010-11-22  来源:xiaokaizi

今天在网上查看class_exists方法(http://php.net/manual/en/function.class-exists.php)的用法的时候,发现class_exists方法的定义如下:
bool class_exists ( string $class_name [, bool $autoload = true ] );

它是有两个参数的,我们平时用这个方法的时候大都只给了第一个参数,第二个参数的默认值是默认为true,而关于第二个参数的解释是: 
autoload,是否默认启动 __autoload函数。

所以当我们不设置第二个参数时,会去调用__autoload方法去加载类,
众所周知__autoload方法的机制,它可能会对磁盘进行大量的I/O操作,严重影响效率,所以大家在用这个方法的时候可以用如下两种方法解决:

NO1:把第二个参数设置为false
NO2:

To find out whether a class can be autoloaded, you can use autoload in this way:

<?php
//Define autoloader
function __autoload($className) {
    if (file_exists($className . '.php')) require $className . '.php';
    else throw new Exception('Class "' . $className . '" could not be autoloaded'); 
}

function canClassBeAutloaded($className) {
    try {
        class_exists($className);
        return true;
    }
    catch (Exception $e) {
        return false;
    }
}
?>

相关阅读 更多 +
排行榜 更多 +
辰域智控app

辰域智控app

系统工具 下载
网医联盟app

网医联盟app

运动健身 下载
汇丰汇选App

汇丰汇选App

金融理财 下载