2010-08-26 4 views
0

Я разрабатываю фреймворк. И я столкнулся с некоторыми трудностями. Для базы данных я создал абстрактный класс, интерфейс и некоторые адаптеры для разных SCDB. Например, адаптер Mysqli имеет конструктор, который вызывает конструктор родителя с массивом параметров в качестве параметра. Класс Mysqli использует следующую схему:php Singleton pattern с абстрактным классом и интерфейсом

class Hybrid_Db_Adapter_Mysqli extends Hybrid_Db_Adapter_Abstract implements Hybrid_Db_Adapter_Interface {} 

Моя задача - создать шаблон Singleton для этой ситуации. Это хорошо для базы данных, потому что мы можем создать только один экземпляр.

Я не знаю, как создать этот Singleton для меня. Я хочу знать, где функция getInstance, которую я должен определить.

ответ

2

Я предвзятый, как может быть, когда дело доходит до людей, разрабатывающих «только небольшую структуру с моими собственными классами инкапсуляции базы данных». Но в любом случае ... ;-)

Может быть, я могу вас заинтересовать в Inversion of Control Containers and the Dependency Injection pattern вместо того, чтобы накладывать на пользователя одиночные игры?

+1

Да VolkerK - изобретательное колесо? Возможно, это академическое упражнение. –

+0

Вы иногда только учитесь чему-то, если делаете те же ошибки, что и другие, которые вы делали перед вами. – pvorb

-1

Это объясняется на PHP site

Ключ используется статическое свойство для хранения экземпляра объекта и делает конструкцию частного, так что новые экземпляры не могут быть созданы.

+0

Я знаю, как создать Сиглетон. Я не знаю, как это сделать в моей ситуации. Из-за этого я читал о шаблонах в php.net. – pltvs

+0

О, хорошо. Возможно, лучше напишите свой вопрос. Строка «Я не знаю, как создать этот Синглтон для меня». предположил, что вы не знали, что нужно писать синглтон. –

Смежные вопросы