class_alias

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

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

説明

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

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

パラメータ

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() - あるオブジェクトが指定したクラスのサブクラスに属するか (あるいは指定したインターフェイスを実装しているか) どうかを調べる
To Top