title
Description
Body
Перевел свои функции для работы с бд в стиль опп.
Прошу оценить 'говнястость и логичность кода', и дать дельные советы.
---
НоBый адрес файлов http://xwab.ru/forum/files/swomclass_626.txt и http://xwab.ru/forum/files/swomclass_973.zip
Отредактировано Morgan (2010.02.23 19:07)
Неактивен
Morgan написал:
// создание обьекта (аргументы аналогичны функции mysql_connect())
у mysql_connect больше параметров, поэтому аргументы не совсем аналогичны.
Не совсем понятно зачем переменная $con
|
|
mysql_free_result никогда не выполнится
if(is_integer($msg)) - лучше is_numeric
Могу еще придраться к форматированию кода, и еще в подобных прослойках желательно делать счетчик запросов к БД. Т.е. после успешного mysql_query инкрементить статическую переменную.
В целом, если учитывать что в теме упоминается Учу ООП, результаты, на мой взгляд отличные)
P.S. и еще попробуй использовать конструкцию try throw catch
Неактивен
В $con записываются все открытые соединения.
Почему, фри результ не выполнится?
try {...}
Перехват ошибок это?
Читал про это в пхп5 котерова, честно - мало что понял.
Отредактировано Morgan (2010.02.22 19:29)
Неактивен
Также , не могу понять причину использования расширении классов, если проще будет редактировать исходный класс.
В книжке, был пример - есть класс, который должен вырисовать на плоскости фигуру (не определенно какую), потом создается расширение исходного, для вырисовки фигуры - квадрата.
Это довольно хороший пример, но вот только больше я не нашел где можно применить эту систему.
Также не понял интерфейсы.
Неактивен
Интерфейс - каркас для классов. Простой набор свойств(вроде) и методов, которые обязательно должны быть созданы в норм классе, иначе ошибка вылезит. Клас может быть составлен из неск. интерфейсов.
Отредактировано Fuelen (2010.02.22 20:03)
Неактивен
когда пишется большое приложение, в разработке которого принимают участие куча народу, интерфейсы, абстрактные классы и прочие прелести ООП очень помогают структурировать и систематизировать код.
Morgan написал:
В $con записываются все открытые соединения.
но более эта переменная никак не ипользуется, и объявлена как приватная.
Неактивен
10, хочешь сказать что не логично? Она используется при проверке, а вдруг такое соединение уже открыто.
Добавлено спустя 1 минуту 23 секунды:
9, вот так понятней
// не думаешь книгу начать писать?
Отредактировано Morgan (2010.02.22 20:45)
Неактивен
Morgan написал:
...
// не думаешь книгу начать писать?
Это ко мне? Если да, те не собираюсь... Гг. У меня опыта мало.
"PHP5 для профессионалов" Эд Леки-Томпсон, Хьяо Айде-Гудман, Алек Коув, Стивен Д.Новицки. Все так хвалят, но я не читал
Неактивен
Не стал создавать новую тему из за такого вопроса, решил чиркануть тут!
Если у меня метод приватный, есть ли необходимость указывать что все свойства которые будут использованны в методе приватные?
или же если метод приватный, то и все свойства в нем приватные?
Неактивен
т.е так?
грубый пример
|
|
Или private $BlockThree лишнее?
Отредактировано Nu3oN (2010.06.15 12:00)
Неактивен
private function MyMethod($BlockOne <- тут $BlockOne - это локальная переменная $BlockOne
private $BlockOne; - тут это свойство класса $this->BlockOne
это 2 абсолютно разные переменные.
еще, по PEAR private и protected свойства и методы следует называть со знака подчеркивания.
и еще, ВСЕ свойства и методы должны начинаться с прописной буквы.
т.е.
|
|
Неактивен