#1 2010.02.22 15:11

Morgan
Участник
Зарегистрирован: 2009.03.31
Сообщений: 333
Карма: 10
Профиль Веб-сайт

Учу ООП. Результаты

Перевел свои функции для работы с бд в стиль опп.
Прошу оценить 'говнястость и логичность кода', и дать дельные советы.
---

НоBый адрес файлов http://xwab.ru/forum/files/swomclass_626.txt и http://xwab.ru/forum/files/swomclass_973.zip

Отредактировано Morgan (2010.02.23 22:07)


Натан ротшильд :
Кто владеет информацией, тот владеет миром

Неактивен

#2 2010.02.22 18:19

Fuelen
Участник
Зарегистрирован: 2009.06.22
Сообщений: 229
Карма: 5
Профиль

Re: Учу ООП. Результаты

И здесь ты big_smile


на хую вас вертів

Неактивен

#3 2010.02.22 20:34

Morgan
Участник
Зарегистрирован: 2009.03.31
Сообщений: 333
Карма: 10
Профиль Веб-сайт

Re: Учу ООП. Результаты

Fuelen написал:

И здесь ты big_smile

я везде, и нигде :-D


Натан ротшильд :
Кто владеет информацией, тот владеет миром

Неактивен

#4 2010.02.22 21:41

Gemorroj
Administrator
Откуда: Белоруссия
Зарегистрирован: 2007.11.03
Сообщений: 6593
Карма: 107
Профиль Веб-сайт

Re: Учу ООП. Результаты

Morgan написал:

// создание обьекта (аргументы аналогичны функции mysql_connect())

у mysql_connect больше параметров, поэтому аргументы не совсем аналогичны.
Не совсем понятно зачем переменная $con

Код:

1
2
return $result;
mysql_free_result($result);

mysql_free_result никогда не выполнится
if(is_integer($msg)) - лучше is_numeric
Могу еще придраться к форматированию кода, и еще в подобных прослойках желательно делать счетчик запросов к БД. Т.е. после успешного mysql_query инкрементить статическую переменную.
В целом, если учитывать что в теме упоминается Учу ООП, результаты, на мой взгляд отличные)
P.S. и еще попробуй использовать конструкцию try throw catch

Неактивен

#5 2010.02.22 22:28

Morgan
Участник
Зарегистрирован: 2009.03.31
Сообщений: 333
Карма: 10
Профиль Веб-сайт

Re: Учу ООП. Результаты

В $con записываются все открытые соединения.
Почему, фри результ не выполнится?
try {...}
Перехват ошибок это?
Читал про это в пхп5 котерова, честно - мало что понял.

Отредактировано Morgan (2010.02.22 22:29)


Натан ротшильд :
Кто владеет информацией, тот владеет миром

Неактивен

#6 2010.02.22 22:33

Fuelen
Участник
Зарегистрирован: 2009.06.22
Сообщений: 229
Карма: 5
Профиль

Re: Учу ООП. Результаты

После return код дальше в функции/методе не выполняется


на хую вас вертів

Неактивен

#7 2010.02.22 22:36

Morgan
Участник
Зарегистрирован: 2009.03.31
Сообщений: 333
Карма: 10
Профиль Веб-сайт

Re: Учу ООП. Результаты

%)
забыл, надо мозг менять


Натан ротшильд :
Кто владеет информацией, тот владеет миром

Неактивен

#8 2010.02.22 22:48

Morgan
Участник
Зарегистрирован: 2009.03.31
Сообщений: 333
Карма: 10
Профиль Веб-сайт

Re: Учу ООП. Результаты

Также , не могу понять причину использования расширении классов, если проще будет редактировать исходный класс.
В книжке, был пример - есть класс, который должен вырисовать на плоскости фигуру (не определенно какую), потом создается расширение исходного, для вырисовки фигуры - квадрата.
Это довольно хороший пример, но вот только больше я не нашел где можно применить эту систему.

Также не понял интерфейсы.
sad


Натан ротшильд :
Кто владеет информацией, тот владеет миром

Неактивен

#9 2010.02.22 23:01

Fuelen
Участник
Зарегистрирован: 2009.06.22
Сообщений: 229
Карма: 5
Профиль

Re: Учу ООП. Результаты

Интерфейс - каркас для классов. Простой набор свойств(вроде) и методов, которые обязательно должны быть созданы в норм классе, иначе ошибка вылезит. Клас может быть составлен из неск. интерфейсов.

Отредактировано Fuelen (2010.02.22 23:03)


на хую вас вертів

Неактивен

#10 2010.02.22 23:12

Gemorroj
Administrator
Откуда: Белоруссия
Зарегистрирован: 2007.11.03
Сообщений: 6593
Карма: 107
Профиль Веб-сайт

Re: Учу ООП. Результаты

когда пишется большое приложение, в разработке которого принимают участие куча народу, интерфейсы, абстрактные классы и прочие прелести ООП очень помогают структурировать и систематизировать код.

Morgan написал:

В $con записываются все открытые соединения.

но более эта переменная никак не ипользуется, и объявлена как приватная.

Неактивен

#11 2010.02.22 23:43

Morgan
Участник
Зарегистрирован: 2009.03.31
Сообщений: 333
Карма: 10
Профиль Веб-сайт

Re: Учу ООП. Результаты

10, хочешь сказать что не логично? Она используется при проверке, а вдруг такое соединение уже открыто.
Добавлено спустя   1 минуту  23 секунды:
9, вот так понятней
// не думаешь книгу начать писать?

Отредактировано Morgan (2010.02.22 23:45)


Натан ротшильд :
Кто владеет информацией, тот владеет миром

Неактивен

#12 2010.02.23 00:17

Fuelen
Участник
Зарегистрирован: 2009.06.22
Сообщений: 229
Карма: 5
Профиль

Re: Учу ООП. Результаты

Morgan написал:

...
// не думаешь книгу начать писать?

Это ко мне? Если да, те не собираюсь... Гг. У меня опыта мало.
"PHP5 для профессионалов" Эд Леки-Томпсон, Хьяо Айде-Гудман, Алек Коув, Стивен Д.Новицки. Все так хвалят, но я не читал smile


на хую вас вертів

Неактивен

#13 2010.02.23 22:09

Morgan
Участник
Зарегистрирован: 2009.03.31
Сообщений: 333
Карма: 10
Профиль Веб-сайт

Re: Учу ООП. Результаты

Переработал файлы


Натан ротшильд :
Кто владеет информацией, тот владеет миром

Неактивен

#14 2010.06.15 15:19

Nu3oN
Moderator
Откуда: БелгородЭ
Зарегистрирован: 2010.04.28
Сообщений: 805
Карма: 11
Профиль Веб-сайт

Re: Учу ООП. Результаты

Не стал создавать новую тему из за такого вопроса, решил чиркануть тут!

Если у меня метод приватный, есть ли необходимость указывать что все свойства которые будут использованны в методе приватные?
или же если метод приватный, то и все свойства в нем приватные?


Я буду лучше голоден, но между креслом и рулем и на дороге.

Неактивен

#15 2010.06.15 15:45

Gemorroj
Administrator
Откуда: Белоруссия
Зарегистрирован: 2007.11.03
Сообщений: 6593
Карма: 107
Профиль Веб-сайт

Re: Учу ООП. Результаты

метод отдельно, свойства отдельно. если свойство или метод не будут использоваться извне, то следует всегда делать их приватными.

Неактивен

#16 2010.06.15 15:57

Nu3oN
Moderator
Откуда: БелгородЭ
Зарегистрирован: 2010.04.28
Сообщений: 805
Карма: 11
Профиль Веб-сайт

Re: Учу ООП. Результаты

т.е так?

грубый пример

Код:

1
lt;?class MyClass {private $BlockOne; private $BlockTwo; private $BlockThree; private function MyMethod($BlockOne, $BlockTwo){$BlockThree = ....//реализация}}?>

Или private $BlockThree лишнее?

Отредактировано Nu3oN (2010.06.15 16:00)


Я буду лучше голоден, но между креслом и рулем и на дороге.

Неактивен

#17 2010.06.15 17:09

Gemorroj
Administrator
Откуда: Белоруссия
Зарегистрирован: 2007.11.03
Сообщений: 6593
Карма: 107
Профиль Веб-сайт

Re: Учу ООП. Результаты

private function MyMethod($BlockOne <- тут $BlockOne - это локальная переменная $BlockOne
private $BlockOne; - тут это свойство класса $this->BlockOne
это 2 абсолютно разные переменные.
еще, по PEAR private и protected свойства и методы следует называть со знака подчеркивания.
и еще, ВСЕ свойства и методы должны начинаться с прописной буквы.
т.е.

Код:

1
span style="color: #0000BB"><?phpclass MyClass { public $blockOne; private $_blockThree; private function _myMethod ($blockOne, $blockTwo) { $this->blockOne; $this->_blockThree; $blockTwo; }}?>

Неактивен

Дополнительно

forum.wapinet.ru

PunBB Mod v0.6.2
0.013 s