Создаёт псевдоним класса

# 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`. Класс-псевдоним — тот же исходный класс.

Зарезервированные слова нельзя указывать как псевдоним класса.

> Замечание: C PHP 8.3.0 функция class_alias() стала поддерживать псевдонимирование внутренних классов PHP.

### Список параметров

`class`

  Оригинальный класс.

`alias`

  Псевдоним для класса.

`autoload`

  Требуется ли выполнять автоматическую загрузку класса, если PHP не нашёл исходный класс.

### Возвращаемые значения

Функция возвращает `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`.

### Смотрите также

- get_parent_class() - Получает имя родительского класса для объекта или класса
- is_subclass_of() - Проверяет, принадлежит ли объект к потомкам класса, или реализует ли объект или родители объекта интерфейс

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