Учитывая, что это синглтон, результат будет таким же: будет только один экземпляр вашего объекта БД, и он всегда будет одинаковым.
Итак, оба решения будут работать и давать одинаковый результат; по крайней мере, если ваш класс БД используется каждый раз, когда создается экземпляр вашего класса - и, конечно, разница в производительности, вероятно, будет незначительной.
Тем не менее, переход к решению получения экземпляра синглтона в конструкторе и использования переменной класса в других методах имеет преимущество: ваши методы будут зависеть не от этого синглтона, а только от переменной класса ...
... Что означает Внедрение зависимостей будет намного проще (вам нужно будет изменить только метод __construct
, а не каждый метод класса) , если вы хотите использовать его однажды - например, для «моделирования» вашего класса БД, для целей автоматического тестирования.
Для получения дополнительной информации вы можете взглянуть на это сообщение в блоге: Что такое инъекция зависимостей?