(PHP 4, PHP 5)
class_exists — 检查类是否已定义
$class_name
[, bool $autoload
] )
如果由 class_name
所指的类已经定义,此函数返回
TRUE,否则返回 FALSE。
Example #1 class_exists() 例子
<?php
// Check the class exists before trying to use it
if (class_exists('MyClass')) {
$myclass = new MyClass();
}
?>
class_exists() 默认将会尝试调用 __autoload,如果不想让
class_exists() 调用
__autoload,可以将 autoload 参数设为 FALSE。
Example #2 autoload 参数例子
<?php
function __autoload($class)
{
include($class . '.php');
// Check to see if the include declared the class
if (!class_exists($class, false)) {
trigger_error("Unable to load class: $class", E_USER_WARNING);
}
}
if (class_exists('MyClass')) {
$myclass = new MyClass();
}
?>
Note:
autoload参数是 PHP 5 添加的。
class_name
The class name. The name is matched in a case-insensitive manner.
autoload
Whether or not to call __autoload by default.
Returns TRUE if class_name is a defined class,
FALSE otherwise.
| 版本 | 说明 |
|---|---|
| 5.0.2 |
No longer returns TRUE for defined interfaces. Use
interface_exists().
|
| 5.0.0 |
The autoload parameter was added.
|
Example #3 class_exists() example
<?php
// Check that the class exists before trying to use it
if (class_exists('MyClass')) {
$myclass = new MyClass();
}
?>
Example #4 autoload parameter example
<?php
function __autoload($class)
{
include($class . '.php');
// Check to see whether the include declared the class
if (!class_exists($class, false)) {
trigger_error("Unable to load class: $class", E_USER_WARNING);
}
}
if (class_exists('MyClass')) {
$myclass = new MyClass();
}
?>