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

# class_alias

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

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

### 説明

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

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

クラスのエイリアスに PHP の予約語は使用できません。

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

`↑` and `↓` to navigate • `Enter` to select • `Esc` to close • `/` to open