Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Pessoal, tenho uma dúvida sobre o uso de objetos dentro de objetos.
Por exemplo. Tenho meu objeto para conexão com o BD. No comum.php eu inicio ele por exemplo assim:
<?php$BD = new BancoDeDados();?>Ai eu tenho a classe que gerencia os módulos, chamo ela da mesma maneira:
<?php$Modulos = new GerenciadorDeModulos();?>Dentro do objeto GerenciadorDeModulos eu utilizo o objeto BancoDeDados. Minha dúvida é como eu devo chamar este objeto do BD dentro do GerenciadorDeModulos.
Hoje eu tenho feito de duas maneiras:
1. Jogando um objeto dentro do outro pelo construtor:
__construct(){ $this->BD = $GLOBALS['BD'];}2. Usando via GLOBALS
<?php $GLOBALS['BD']->FazAlgumaCoisa();}?>
Queria saber qual seria a maneira mais correta e prática de se chamar o objeto dentro da classe, já que eu utilizo o BD em diversas classes: Autenticação, Gerenciamento de módulos, Gerenciamento de Usuários, permissões, etc.
Se eu fizer a classe do banco de dados usando o padrão Singleton, e depois em cada caso que eu precisar usá-la eu der um extends, ele vai pegar a classe do banco de dados já estanciada ou vai estanciar ela novamente?
Sei que isso não tem como fazer, pois para estanciar uma classe usando o padrão Singleton tem que chamar o método que o faz, e não o construtor, mas existe algo mais ou menos nesse estilo??
Fico no aguardo de uma luz....
Obrigado!!
Carregando comentários...