class_alias

クラスのエイリアスを作成する

説明

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

alias という名前のエイリアスを、 ユーザー定義のクラス class に対して作成します。 エイリアスは、元のクラスとまったく同一のものとなります。

注意: 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)

注意

注意:

クラス名は、大文字小文字を区別しません。 また、その振る舞いはこの関数にも反映されています。 class_alias によって作られたエイリアスは、 小文字で宣言されます。 たとえばクラス MyClass について、 class_alias('MyClass', 'MyClassAlias') を実行すると、myclassalias という名前の新しいクラスエイリアスが宣言されます。

参考

  • get_parent_class
  • is_subclass_of