class_alias

(PHP 5 >= 5.3.0, PHP 7, PHP 8)

class_alias为类创建别名

说明

class_alias(string $class, string $alias, bool $autoload = true): bool

基于用户定义的类 class 创建别名 alias。 这个别名类和原有的类完全相同。

注意: 自 PHP 8.3.0 起,class_alias() 也支持创建 PHP 内部类的别名。

参数

class

原有的类。

alias

类的别名。

autoload

如果原始类没有加载,是否使用自动加载

返回值

成功时返回 true, 或者在失败时返回 false

更新日志

版本 说明
8.3.0 class_alias() 现在支持创建内部类的别名。

示例

示例 #1 class_alias() 示例

<?php

class Foo { }

class_alias('Foo', 'Bar');

$a = new Foo;
$b = new Bar;

// 对象是相同的
var_dump($a == $b, $a === $b);
var_dump($a instanceof $b);

// 类是相同的
var_dump($a instanceof Foo);
var_dump($a instanceof Bar);

var_dump($b instanceof Foo);
var_dump($b instanceof Bar);

?>

以上示例会输出:

bool(true)
bool(false)
bool(true)
bool(true)
bool(true)
bool(true)
bool(true)

注释

注意:

类名在 PHP 中不区分大小写,这一点也反映在此函数中。由 class_alias() 创建的别名声明为小写。这意味着对于 MyClass 类,调用 class_alias('MyClass', 'MyClassAlias') 将声明名为 myclassalias 的新的类别名。

参见