(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();
}
?>