Покинул форум
Сообщений всего: 1859
Дата рег-ции: Июль 2011 Откуда: Крым
Помог: 21 раз(а)
есть у меня 1 класс config, сделал его как singleton как сделать, чтобы все остальные классы были наследованы от него, но с возможностью вызывать другие классы.
Как всегда я понял, что сказал какой-то бред, поэтому покажу на примере что я хочу.
Покинул форум
Сообщений всего: 1859
Дата рег-ции: Июль 2011 Откуда: Крым
Помог: 21 раз(а)
Зверь, я не про это,
config(singleton) в конструкторе класса mysql($this->db = Config::getInstance())
хм. Если я буду, допустим класс users наследоватать от mysql (class users exntends mysql), я смогу использовать $this->методы mysql и $this->conf->методы config?
Вооо, попробовал, то что нужно)).
Т.е config (singleton), а остальные классы наследуются от mysql и можно использовать и mysql и extends) (Добавление)
Хм.. Странная ошибка:
Покинул форум
Сообщений всего: 1859
Дата рег-ции: Июль 2011 Откуда: Крым
Помог: 21 раз(а)
caballero, хм.. Немного не понял, при регистрации соединение открывается, после регистрации закрывается.
caballero
Отправлено: 05 Марта, 2012 - 15:09:25
Активный участник
Покинул форум
Сообщений всего: 5998
Дата рег-ции: Сент. 2011 Откуда: Харьков
Помог: 126 раз(а)
у тебя клас User это что вообще?
если он инкапсулирует юзера то на трех юзеров там будет три конекта к БД.
А если класс - просто собрание функций для работы с БД то ООП это можно назвать с большрй натяжкой/
Не понимаю почему все начинающие изучать ООП норовят создать некий класс работы с БД и наследовать от него классы сушностей.
Покинул форум
Сообщений всего: 1859
Дата рег-ции: Июль 2011 Откуда: Крым
Помог: 21 раз(а)
caballero пишет:
А если класс - просто собрание функций для работы с БД то ООП это можно назвать с большрй натяжкой/
Скорей так). Но я лучше попробую сделать модулями (Добавление)
И все же, что это за ошибка? Типо переменная не установлена, но как это может быть?!
DeepVarvar
Отправлено: 05 Марта, 2012 - 19:15:09
Активный участник
Покинул форум
Сообщений всего: 10377
Дата рег-ции: Дек. 2008 Откуда: Альфа Центавра
Помог: 353 раз(а)
etoYA пишет:
Странная ошибка
Цитата:
Undefined index: login
Ничего странного - нужно обязательно проверять переменную на наличие её,
или ключ в массиве на его наличие.
Если массив $_POST пустой, то и будет такая ошибка.
etoYA пишет:
попробую сделать модулями
Модулями чего и кого?
Мускуль - это одна сущность.
Юзер - другая.
Шаблон - третья.
Контроллер - четвертая.
Роутер - пятая.
и т.д....
НО!!! Ни один из них не наследует мускуль!
Зачем?
Они просто используют его API и все.
Покинул форум
Сообщений всего: 1389
Дата рег-ции: Окт. 2010
Помог: 42 раз(а)
Зачем наследовать интерфейсы для работы с бд, в них и так достаточно методов для решения различных задач.
Еслиуж так хочется применить запрос внутри метода друго класса можно передать ссыку на соединение либо в аргументе, либо через статический метод класса на основе шаблона Singleton.
caballero
Отправлено: 05 Марта, 2012 - 19:42:25
Активный участник
Покинул форум
Сообщений всего: 5998
Дата рег-ции: Сент. 2011 Откуда: Харьков
Помог: 126 раз(а)
наследовать есть смысл если используется паттерн Active Record
Покинул форум
Сообщений всего: 2751
Дата рег-ции: Июль 2010 Откуда: Даугавпилс, Латвия
Помог: 52 раз(а)
etoYA, почитайте "Философия Java". там очень хорошо описано ООП. сам щас читаю, очень понравилась книга. есть 2 понятия - "похоже" и "является".
первый это когда класс потомок определяет новые методы,
второе это когда класс потомок перегружает методы класса родителя.
0. Так делать можно? Т.е. смешивать ООП и процедурный стиль?
1. Как проверить на успешность MySQL запроса? (добавить метод mysql_affected_rows() ?) Или сделать публичный $_query?
2. Если я сделать в виде контроллера обычную switch case конструкцию будет нормально? Смогу ли я нормально прикрутить ЧПУ? Или есть другие варианты не меняя моего кода
Все гости форума могут просматривать этот раздел. Только зарегистрированные пользователи могут создавать новые темы в этом разделе. Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.