<?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']);
        }       
    }
/* ... * /