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

Замечание: 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() - Проверяет, принадлежит ли объект к потомкам класса, или реализует ли объект или родители объекта интерфейс