PHP overload methods by type and number