Я возиться с различными фреймворками логирования PHP. Я сейчас пытаюсь PEAR :: Log. Я решил, что воспользуюсь его функцией singleton
, чтобы убедиться, что существует только один экземпляр класса.
У меня есть небольшой демоноподобный скрипт, к которому я хотел добавить регистрацию, потому что это, вероятно, самый простой скрипт в системе для тестирования. Этот скрипт имеет несколько функций. Я, вероятно, захочу регистрировать вещи внутри функций.
У меня вопрос: как мне лучше всего управлять этим синглтоном?
Для меня это так:
&Log::singleton($handler, $name, $ident, $conf, $maxLevel);
в каждой функции не кажется идеальным, тем более что я уже указал все параметры при первоначальном вызове. Pear :: Log сериализует эту информацию, но, судя по всему, вам все равно нужно предоставить все эти переменные, чтобы получить экземпляр.
Другая альтернатива - передача экземпляра в каждую функцию. Опять же, похоже, что это не идеально.
Полагаю, вы также можете сделать экземпляр "глобальным".
Что вы в этой ситуации? Есть ли лучшие решения?