class_alias
クラスのエイリアスを作成する
説明
bool class_alias(string $class, string $alias, bool $autoload = true)
クラスのエイリアスに PHP の予約語は使用できません。
注意:
PHP 8.3.0 以降では、class_alias
は PHP の内部クラスのエイリアスを作る機能もサポートしています。
パラメータ
-
class
-
元となるクラス。
-
alias
-
クラスのエイリアス名。
-
autoload
-
元のクラスが見つからない場合に オートロード するかどうか。
戻り値
成功した場合に true を、失敗した場合に false を返します。
例
例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)
注意
注意:
クラス名は、大文字小文字を区別しません。
また、その振る舞いはこの関数にも反映されています。
class_alias によって作られたエイリアスは、
小文字で宣言されます。
たとえばクラス MyClass について、
class_alias('MyClass', 'MyClassAlias')
を実行すると、myclassalias
という名前の新しいクラスエイリアスが宣言されます。
参考
- get_parent_class
- is_subclass_of