У меня болит голова от чтения о синглетонах и шаблонах, и должен быть более простой способ ...
У меня есть замечательная вспомогательная функция log_it ($ severity, $ message), которая используется повсюдуряд программ.Он создает код для добавления записей журнала для конкретного приложения в общий журнал на диске.Когда я загружаю функцию один раз в глобальном масштабе (используя require), она доступна во всей программе, в любой функции.
Я преобразую приложение в целом в объектную ориентацию по различным причинам.Я хотел бы создать класс logger, который имеет метод log_it ($ severity, $ message).
Я хотел бы создать объект один раз в глобальной области видимости и использовать его изнутри функций.Я бы предпочел не объявлять объект глобальным в каждой функции, где я хочу его использовать.Другими словами, я хочу эмулировать глобальную видимость простой необъектной функции, но с использованием класса.То, что я хотел бы сделать, это иметь $ log = new logger () в основной программе и затем вызывать $ log-> log_it () из любой точки мира без дальнейших церемоний.
Надеюсь, есть простой способсделать это?