Перегрузка встроенного конструктора типов в PHP
Я пытаюсь сделать так, чтобы для каждого созданного целого числа выводился какой-то текст. Для этого я хочу перегрузить (или расширить) тип Integer по умолчанию.
Я хотел бы иметь встроенный тип (Integer, Array, String), чтобы иметь пользовательский конструктор, такой как
public function __construct($data) { print $data; }
Это возможно? Я не могу найти это даже когда-либо пытался до онлайн.
Редактировать:
Я попробовал это:
class Integer { /*...*/ }
И это:
class Integer extends Integer { /*...*/ }
1 ответ
Решение
Поскольку родные скалярные типы PHP не являются объектами, их нельзя перегрузить.
Вы можете написать классы-оболочки и использовать их так:
$int = new Integer(5);
Но это, вероятно, гораздо больше работы, чем имеет смысл.