Перегрузка встроенного конструктора типов в PHP

Я пытаюсь сделать так, чтобы для каждого созданного целого числа выводился какой-то текст. Для этого я хочу перегрузить (или расширить) тип Integer по умолчанию.

Я хотел бы иметь встроенный тип (Integer, Array, String), чтобы иметь пользовательский конструктор, такой как

public function __construct($data) { print $data; }

Это возможно? Я не могу найти это даже когда-либо пытался до онлайн.

Редактировать:

Я попробовал это:

class Integer { /*...*/ }

И это:

class Integer extends Integer { /*...*/ }

1 ответ

Решение

Поскольку родные скалярные типы PHP не являются объектами, их нельзя перегрузить.
Вы можете написать классы-оболочки и использовать их так:

$int = new Integer(5);

Но это, вероятно, гораздо больше работы, чем имеет смысл.

Другие вопросы по тегам