Função global vs método de classe estática
Digamos que você tenha um objeto único e que seja usado por todas as outras classes e funções ... algo como$application
.
Como você acessaria esse objeto em suas funções?
usando uma variável global em cada uma das funções:
global $application;
$application->doStuff();
criando uma função, comoapplication()
que instancia o objeto em uma variável estática e o retorna; em seguida, use esta função em todos os lugares em que você precisar acessar o objeto:
application()->doStuff();
crie uma coisa singleton, como um método estático dentro da classe de objeto que retorna a única instância, e use este método para acessar o objeto:
Application::getInstance()->doStuff();
KingCrunch & skwee: passe o objeto do aplicativo como argumento para cada função / classe onde for necessár
...
public function __construct(Application $app, ...){
....
Se houver outras opções, poste-as. Gostaria de saber qual dessas opções é a "melhor prática" mais eficiente / considerad