Допустим, у вас есть уникальный объект, который используется всеми другими классами и функциями ... что-то вроде $ application
.
Как бы вы могли получить доступ к этому объекту в своих функциях?
используя глобальную переменную в каждой из ваших функций:
global $ application;
$ application-> doStuff ();
создание функции, подобной application ()
, которая создает экземпляр объекта в статической переменной и возвращает ее; затем используйте эту функцию везде, где вам нужно получить доступ к объекту:
application () -> doStuff ();
создать одноэлементный объект, например статический метод внутри класса объекта, который возвращает единственный экземпляр, и использовать этот метод для доступа к объекту:
Application :: getInstance () -> doStuff ();
KingCrunch & skwee: передать объект приложения в качестве аргумента каждой функции / классу, где это необходимо
...
публичная функция __construct (Application $ app, ...) {
....
Если есть другие варианты, опубликуйте их. Мне интересно, какой из этих вариантов наиболее эффективен / считается «лучшей практикой».