<?php
// это
$procurementDep->getEmpolyees("Manager", 1, false, 9);// 9 менеджеров 1 ранга.
/*....*/
public function getEmpolyees($position, $rank, $boss, $quantity)
{
For ($i=1; $i<=$quantity; $i++)
{
$this->employees[] = new $position($rank, $boss);
}
}
/* ... */
//выглядело бы
$procurementDep->getEmpolyees(['type' => "Manager", 'rank' => 2]);// 1 менеджер ранка 2, не босс
/*....*/
public function getEmpolyees
(array $parameters) {
$default_parameters = ['type' => "Manager", "rank" => 1, "is_boss" => false, "quantity" => 1];
$parameters = array_merge($default_parameters, $parameters); //вместо мержа с дефалтными настройками,
//можно просто сделать проверку на наличие и в случае отсутствия выбросить исключение к примеру
For ($i = 1; $i <= $parameters['quantity']; $i++)
{
$this->employees[] = new $parameters['type']($parameters['rank'], $parameters['is_boss']);
}
}
/* ... * /
PD9waHAKCi8vINGN0YLQvgokcHJvY3VyZW1lbnREZXAtPmdldEVtcG9seWVlcygiTWFuYWdlciIsIDEsIGZhbHNlLCA5KTsvLyA5INC80LXQvdC10LTQttC10YDQvtCyIDEg0YDQsNC90LPQsC4KCi8qLi4uLiovCnB1YmxpYyBmdW5jdGlvbiBnZXRFbXBvbHllZXMoJHBvc2l0aW9uLCAkcmFuaywgJGJvc3MsICRxdWFudGl0eSkKICAgIHsKICAgICAgICBGb3IgKCRpPTE7ICRpPD0kcXVhbnRpdHk7ICRpKyspCiAgICAgICAgewogICAgICAgICAkdGhpcy0+ZW1wbG95ZWVzW10gPSBuZXcgJHBvc2l0aW9uKCRyYW5rLCAkYm9zcyk7CiAgICAgICAgfSAgICAgICAKICAgIH0KLyogLi4uICovCi8v0LLRi9Cz0LvRj9C00LXQu9C+INCx0YsKJHByb2N1cmVtZW50RGVwLT5nZXRFbXBvbHllZXMoWyd0eXBlJyA9PiAiTWFuYWdlciIsICdyYW5rJyA9PiAgMl0pOy8vIDEg0LzQtdC90LXQtNC20LXRgCDRgNCw0L3QutCwIDIsINC90LUg0LHQvtGB0YEKCi8qLi4uLiovCnB1YmxpYyBmdW5jdGlvbiBnZXRFbXBvbHllZXMoYXJyYXkgJHBhcmFtZXRlcnMpCiAgICB7CiAgICAJJGRlZmF1bHRfcGFyYW1ldGVycyA9IFsndHlwZScgPT4gIk1hbmFnZXIiLCAicmFuayIgPT4gMSwgImlzX2Jvc3MiID0+IGZhbHNlLCAicXVhbnRpdHkiID0+IDFdOwogICAgCSRwYXJhbWV0ZXJzID0gYXJyYXlfbWVyZ2UoJGRlZmF1bHRfcGFyYW1ldGVycywgJHBhcmFtZXRlcnMpOyAgCiAgICAJLy/QstC80LXRgdGC0L4g0LzQtdGA0LbQsCDRgSDQtNC10YTQsNC70YLQvdGL0LzQuCDQvdCw0YHRgtGA0L7QudC60LDQvNC4LCAKICAgIAkvL9C80L7QttC90L4g0L/RgNC+0YHRgtC+INGB0LTQtdC70LDRgtGMINC/0YDQvtCy0LXRgNC60YMg0L3QsCDQvdCw0LvQuNGH0LjQtSDQuCDQsiDRgdC70YPRh9Cw0LUg0L7RgtGB0YPRgtGB0YLQstC40Y8g0LLRi9Cx0YDQvtGB0LjRgtGMINC40YHQutC70Y7Rh9C10L3QuNC1INC6INC/0YDQuNC80LXRgNGDCiAgICAJCiAgICAgICAgRm9yICgkaSA9IDE7ICRpIDw9ICRwYXJhbWV0ZXJzWydxdWFudGl0eSddOyAkaSsrKQogICAgICAgIHsKICAgICAgICAgJHRoaXMtPmVtcGxveWVlc1tdID0gbmV3ICRwYXJhbWV0ZXJzWyd0eXBlJ10oJHBhcmFtZXRlcnNbJ3JhbmsnXSwgJHBhcmFtZXRlcnNbJ2lzX2Jvc3MnXSk7CiAgICAgICAgfSAgICAgICAKICAgIH0KLyogLi4uICogLw==