![]() |
Модераторы: skyboy, MoLeX, Aliance, ksnk |
![]() ![]() ![]() |
|
mark2011 |
|
||||||||
Бывалый ![]() Профиль Группа: Участник Сообщений: 174 Регистрация: 28.6.2011 Репутация: нет Всего: 2 |
Здравствуйте!
Пишу библиотеки доступа для баз данных, используя пространства имён и все возможности ООП. Имеем следующую структуру классов: Database (абстрактный класс с общими методами для всех наследуемых классов) MySQL (потомок Database) MySQL_StoredProcs (потомок MySQL) Вот код конструктора класса MySQL:
Как видим, здесь используются 4 переменные, и без них, видимо, никак. Тут всё хорошо. Теперь в классе MySQL_StoredProcs пытаюсь сделать
который в таком виде, естественно, не проходит. Говорит что не указаны те самые 4 переменные. Хорошо.... идём обратно в класс Database и видим:
В точности их указываем в методе parent::__construct() класса MySQL_StoredProcs и получаем
Как бы тоже логично, потому что вне классов у меня эти переменные нигде не указаны. Действительно, откуда же он их возьмёт? Но как быть? Конструктор Database - без параметров. Конструктор MySQL - 4 параметра, но в этом конструкторе я вызываю parent::__construct() и всё нормально. Конструктор MySQL_StoredProcs без параметров, НО у родителя 4 параметра, а где их определить - непонятно. Или MySQL_StoredProcs делать тоже с 4 параметрами? Но для чего тогда наследование вообще? Что-то непонятно в этой части... |
||||||||
|
|||||||||
s0lman |
|
|||
![]() Белый и лохматый ![]() ![]() Профиль Группа: Участник Сообщений: 637 Регистрация: 1.11.2007 Где: Ukraine Репутация: нет Всего: 29 |
Чтоб передать параметры, их надо где-то взять, например, считать из конфига или захардкодить
![]() Что-то подобное есть? -------------------- Когда я уже выучусь на волшебника? :( |
|||
|
||||
vfz4z |
|
|||
Новичок Профиль Группа: Участник Сообщений: 20 Регистрация: 3.6.2010 Репутация: нет Всего: нет |
Ага. Рекомендую использовать пер-ю в конфиге, типа
и в родительском классе инициализировать подключение.... Добавлено через 1 минуту и 1 секунду код из yii. А вообще я не сторонник изобретения велосипедов. Готовых orm оч. много... На край просто можно посмотреть как сделано |
|||
|
||||
krundetz |
|
|||
![]() Вечный странник ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1400 Регистрация: 14.6.2007 Где: НН(Сормово) Репутация: 1 Всего: 69 |
может для MySQL_StoredProcs сделать такой конструктор?
|
|||
|
||||
Fortop |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2200 Регистрация: 13.11.2007 Где: Донецк Репутация: 1 Всего: 42 |
Мне кажется тут ошибка проектирования
Что за класс MySQL_StoredProcs? И почему он потомок от MySQL Логичнее было бы иметь что-то вида
-------------------- Мир это Я. Живее всех живых. |
|||
|
||||
krundetz |
|
|||
![]() Вечный странник ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1400 Регистрация: 14.6.2007 Где: НН(Сормово) Репутация: 1 Всего: 69 |
Fortop, 2 месяца теме.
|
|||
|
||||
![]() ![]() ![]() |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | PHP: Для профи | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |