PHP 8.3: class_alias() поддерживает псевдонимы встроенных PHP-классов

Источник: «PHP 8.3: class_alias() supports aliasing built-in PHP classes»
PHP-функция class_alias() создаёт псевдоним для заданного класса. Псевдоним ведёт себя точно так же, как и оригинальный класс.

До версии PHP 8.3 попытка присвоить псевдоним встроенному классу PHP приводила к исключению ValueError:

// Недопустимо в PHP < 8.3
class_alias('stdClass', 'MyNewClass');
class_alias('Traversable', 'NewTraversableInterface');
ValueError: class_alias(): Argument #1 ($class) must be a user-defined class name, internal class name given

Начиная с версии PHP 8.3 и выше, появилась возможность псевдонимов внутренних классов и интерфейсов. Приведённый фрагмент допустим, и class_alias() корректно присваивает псевдонимы и внутренним классам:

// Допустимо в PHP >= 8.3
class_alias('stdClass', 'MyNewClass');
class_alias('Traversable', 'NewTraversableInterface');

Функция class_alias() принимает в качестве третьего параметра значение bool $autoload = true. Этот параметр не влияет на встроенные классы, так как они не нуждаются в автозагрузке. Однако, несмотря на отсутствие значимого эффекта, передача значения в этот параметр все же разрешена и не вызывает никаких предупреждений или ошибок.

Дополнительные материалы

Предыдущая Статья

Руководство по стилизации полосы прокрутки в CSS

Следующая Статья

Планирование периодической очистки базы данных на Laravel