У меня есть метод, который поддерживает сложную «перегрузку», используя func_get_args для определения сигнатуры метода. Однако в некоторых ситуациях типы аргументов слишком неоднозначны, чтобы проводить различие.
designGarment('my shirt', SIZES::XXL, FABRICS::COTTON);
designGarment('my dress', FABRICS::SILK, ATTIRES::PARTY);
В приведенном выше примере обе сигнатуры метода разрешаются в STRING, INT, INT, поскольку SIZES, FABRICS и ATTIRES являются классами с целочисленными константами, определенными для их соответствующих свойств. Я хочу иметь возможность отличить подпись (STRING, SIZES, FABRICS) от подписи (STRING, FABRICS, ATTIRES). Возможно ли это в PHP?