<?php
class CompanyBuilder
{
private $company;
public function __construct(string $name)
{
$this->company = new Company($name);
}
public function buildDepartments
(array $names): void
{
//
}
public function buildEmployees(string $depName, Profession $profession, int $amount, int $rank): void
{
// Наполняем департаменты сотрудниками
}
public function getCompany(): Company
{
return $this->company;
}
}
PD9waHAKCmNsYXNzIENvbXBhbnlCdWlsZGVyCnsKICAgIHByaXZhdGUgJGNvbXBhbnk7CgogICAgcHVibGljIGZ1bmN0aW9uIF9fY29uc3RydWN0KHN0cmluZyAkbmFtZSkKICAgIHsKICAgICAgICAkdGhpcy0+Y29tcGFueSA9IG5ldyBDb21wYW55KCRuYW1lKTsKICAgIH0KICAgIAogICAgcHVibGljIGZ1bmN0aW9uIGJ1aWxkRGVwYXJ0bWVudHMoYXJyYXkgJG5hbWVzKTogdm9pZAogICAgewogICAgCS8vCiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIGJ1aWxkRW1wbG95ZWVzKHN0cmluZyAkZGVwTmFtZSwgUHJvZmVzc2lvbiAkcHJvZmVzc2lvbiwgaW50ICRhbW91bnQsIGludCAkcmFuayk6IHZvaWQKICAgIHsKICAgIAkvLyDQndCw0L/QvtC70L3Rj9C10Lwg0LTQtdC/0LDRgNGC0LDQvNC10L3RgtGLINGB0L7RgtGA0YPQtNC90LjQutCw0LzQuAogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiBnZXRDb21wYW55KCk6IENvbXBhbnkKICAgIHsKICAgICAgICByZXR1cm4gJHRoaXMtPmNvbXBhbnk7CiAgICB9Cgp9