ИМХО, ваш вопрос сводится к вопросу о стиле персонального программирования. Когда я определил фрагмент кода, который необходимо реорганизовать для соответствия принципу DRY, я не всегда реорганизую его таким же образом.
Если я правильно понимаю, вам нужна эта функция / метод в ваших классах форм, и все эти классы форм расширяют один и тот же базовый класс форм. В этом случае я бы продвинул рассматриваемый метод в суперкласс (я знаю, что вы упомянули, что хотите, чтобы метод был доступен «глобально», но остальная часть вашего варианта использования, похоже, подразумевает, что функция / метод будет используется в ваших классах формы.).
Когда у меня действительно есть вспомогательная функция, которая мне нужна во всем приложении (и я уверен, что ее больше некуда поместить), я помещаю ее в точку входа приложения. Используя MVC Zend Framework, этой точкой входа будет public index.php (все запросы направляются через index.php, что делает его логическим местом для глобальных функций). Внизу этого файла я всегда добавляю некоторые вспомогательные функции, чтобы сэкономить время при отладке. См. " Самая полезная функция, которую вы когда-либо использовали.. " в качестве примера.