[#] [Перевод] Как использовать именованные конструкторы в PHP
habrabot(difrex,1) — All
2016-03-22 21:30:01


_tl; dr — Не ограничивай себя одним конструктором в классе. Используй статические фабричные методы._ PHP позволяет использовать только один конструктор в классе, что довольно раздражительно. Вероятно, мы никогда не получим нормальную возможность перегрузки конструкторов в PHP, но кое-что сделать все же можно. Для примера возьмем простой класс, хранящий значение времени. Какой способ создания нового объекта лучше:

<?php
$time = new Time("11:45");
$time = new Time(11, 45);


Правильным ответом будет «в зависимости от ситуации». Оба способа могут являются корректным с точки зрения полученного результата. Реализуем поддержку обоих способов: [Читать дальше →][1]

[1]: https://habrahabr.ru/post/279919/#habracut