PHP - Зачем делать конструктор приватным?
Вижу в Sentry и в других библиотеках конструкцию private function __construct
И при этом инициализируется класс через статичный метод. Есть ли какие то обоснования такого подхода?
private function __construct(?EventId $eventId, EventType $eventType)
{
$this->id = $eventId ?? EventId::generate();
$this->timestamp = microtime(true);
$this->sdkVersion = PrettyVersions::getVersion('sentry/sentry')->getPrettyVersion();
$this->type = $eventType;
}
/**
* Creates a new event.
*
* @param EventId|null $eventId The ID of the event
*/
public static function createEvent(?EventId $eventId = null): self
{
return new self($eventId, EventType::event());
}