Вы не зашли.
Главная » PHP » Учу ООП. Результаты
#1. Morgan Off (10)
Участник
2010.02.22 15:03
Перевел свои функции для работы с бд в стиль опп.
Прошу оценить 'говнястость и логичность кода', и дать дельные советы.
---

НоBый адрес файлов http://xwab.ru/forum/files/swomclass_626.txt и http://xwab.ru/forum/files/swomclass_973.zip
Отредактировано Morgan (2010.02.23 22:10)
Натан ротшильд :
Кто владеет информацией, тот владеет миром
#2. Fuelen Off (5)
Участник
2010.02.22 18:06
И здесь ты big_smile
на хую вас вертів
#3. Morgan Off (10)
Участник
2010.02.22 20:08
Fuelen написал:
И здесь ты big_smile
я везде, и нигде :-D
Натан ротшильд :
Кто владеет информацией, тот владеет миром
#4. Gemorroj Off (107)
Administrator
2010.02.22 21:09
Morgan написал:
// создание обьекта (аргументы аналогичны функции mysql_connect())
у mysql_connect больше параметров, поэтому аргументы не совсем аналогичны.
Не совсем понятно зачем переменная $con
Код:
return $result;
mysql_free_result($result);
mysql_free_result никогда не выполнится
if(is_integer($msg)) - лучше is_numeric
Могу еще придраться к форматированию кода, и еще в подобных прослойках желательно делать счетчик запросов к БД. Т.е. после успешного mysql_query инкрементить статическую переменную.
В целом, если учитывать что в теме упоминается Учу ООП, результаты, на мой взгляд отличные)
P.S. и еще попробуй использовать конструкцию try throw catch
#5. Morgan Off (10)
Участник
2010.02.22 22:10
В $con записываются все открытые соединения.
Почему, фри результ не выполнится?
try {...}
Перехват ошибок это?
Читал про это в пхп5 котерова, честно - мало что понял.
Отредактировано Morgan (2010.02.22 22:10)
Натан ротшильд :
Кто владеет информацией, тот владеет миром
#6. Fuelen Off (5)
Участник
2010.02.22 22:10
После return код дальше в функции/методе не выполняется
на хую вас вертів
#7. Morgan Off (10)
Участник
2010.02.22 22:10
%)
забыл, надо мозг менять
Натан ротшильд :
Кто владеет информацией, тот владеет миром
#8. Morgan Off (10)
Участник
2010.02.22 22:10
Также , не могу понять причину использования расширении классов, если проще будет редактировать исходный класс.
В книжке, был пример - есть класс, который должен вырисовать на плоскости фигуру (не определенно какую), потом создается расширение исходного, для вырисовки фигуры - квадрата.
Это довольно хороший пример, но вот только больше я не нашел где можно применить эту систему.

Также не понял интерфейсы.
sad
Натан ротшильд :
Кто владеет информацией, тот владеет миром
#9. Fuelen Off (5)
Участник
2010.02.22 23:11
Интерфейс - каркас для классов. Простой набор свойств(вроде) и методов, которые обязательно должны быть созданы в норм классе, иначе ошибка вылезит. Клас может быть составлен из неск. интерфейсов.
Отредактировано Fuelen (2010.02.22 23:11)
на хую вас вертів
#10. Gemorroj Off (107)
Administrator
2010.02.22 23:11
когда пишется большое приложение, в разработке которого принимают участие куча народу, интерфейсы, абстрактные классы и прочие прелести ООП очень помогают структурировать и систематизировать код.
Morgan написал:
В $con записываются все открытые соединения.
но более эта переменная никак не ипользуется, и объявлена как приватная.
#11. Morgan Off (10)
Участник
2010.02.22 23:11
10, хочешь сказать что не логично? Она используется при проверке, а вдруг такое соединение уже открыто.
Добавлено спустя   1 минуту  23 секунды:
9, вот так понятней
// не думаешь книгу начать писать?
Отредактировано Morgan (2010.02.22 23:11)
Натан ротшильд :
Кто владеет информацией, тот владеет миром
#12. Fuelen Off (5)
Участник
2010.02.23 00:12
Morgan написал:
...
// не думаешь книгу начать писать?
Это ко мне? Если да, те не собираюсь... Гг. У меня опыта мало.
"PHP5 для профессионалов" Эд Леки-Томпсон, Хьяо Айде-Гудман, Алек Коув, Стивен Д.Новицки. Все так хвалят, но я не читал smile
на хую вас вертів
#13. Morgan Off (10)
Участник
2010.02.23 22:10
Переработал файлы
Натан ротшильд :
Кто владеет информацией, тот владеет миром
#14. Nu3oN Off (11)
Moderator
2010.06.15 15:03
Не стал создавать новую тему из за такого вопроса, решил чиркануть тут!

Если у меня метод приватный, есть ли необходимость указывать что все свойства которые будут использованны в методе приватные?
или же если метод приватный, то и все свойства в нем приватные?
Я буду лучше голоден, но между креслом и рулем и на дороге.
#15. Gemorroj Off (107)
Administrator
2010.06.15 15:03
метод отдельно, свойства отдельно. если свойство или метод не будут использоваться извне, то следует всегда делать их приватными.
#16. Nu3oN Off (11)
Moderator
2010.06.15 15:03
т.е так?

грубый пример
Код:
lt;?class MyClass {private $BlockOne; private $BlockTwo; private $BlockThree; private function MyMethod($BlockOne, $BlockTwo){$BlockThree = ....//реализация}}?>
Или private $BlockThree лишнее?
Отредактировано Nu3oN (2010.06.15 16:04)
Я буду лучше голоден, но между креслом и рулем и на дороге.
#17. Gemorroj Off (107)
Administrator
2010.06.15 17:05
private function MyMethod($BlockOne <- тут $BlockOne - это локальная переменная $BlockOne
private $BlockOne; - тут это свойство класса $this->BlockOne
это 2 абсолютно разные переменные.
еще, по PEAR private и protected свойства и методы следует называть со знака подчеркивания.
и еще, ВСЕ свойства и методы должны начинаться с прописной буквы.
т.е.
Код:
span style="color: #0000BB"><?phpclass MyClass { public $blockOne; private $_blockThree; private function _myMethod ($blockOne, $blockTwo) { $this->blockOne; $this->_blockThree; $blockTwo; }}?>
Страниц: 1 2 Все
Главная
WEB
PunBB Mod v0.6.2
0.018 s