Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   PHP (http://www.flasher.ru/forum/forumdisplay.php?f=20)
-   -   Ищу мастера...(вопрос не коммерческого плана) (http://www.flasher.ru/forum/showthread.php?t=50982)

mishinaelle 04.11.2003 18:38

2 Elmir: опечатка!!! ООП в пхп, сорри. :)

mishinaelle 04.11.2003 18:40

2 juggy :
массив ассоциативный
на самом деле там не одномерный массив из 20000 элементов а многомерный. если это важно конечно.

Crazy 04.11.2003 18:45

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

Более существенным является несколько иное: Объектно Ориентированное Проектирование. Увы, в русском языке оба термина сокражаются одинаково -- англичанам с их OOD/OOP повезло больше. Соответственно, ниже в тексте под термином ООП я буду иметь в виду именно проектирование.

Собственно говоря, ООП дает там большую концептуальную близость к практически любой проблеммной области. И в бухучете, и в ракторном двигателе, и в управлении проектами есть объекты, тогда как массивов или хэшей там никто никогда не видел. Соответственно, зачастую объектное описание предметной области выполняется наиболее просто.

Т.е. в терминах объектной модели гораздо проще описать задачу, чем в в других методиках проектирования. Обращаю внимание еще раз: мы еще не говорим о программировании.

Если же, имея модель, мы хотим воплотить ее в программе, то у нас есть два решения: выбрать обычный язык или язык, имеющий специльные конструкции для работы с объектами.

В принципе, никто не мешает по объектной модели написать программу на паскале образца 1970г или на Plain C. Однако использование для этого ОО-языка уменьшит фактические расходы на воплощение модели.

Различные ОО-языки в весьма разной степени соответствуют концепции Объектно Ориентированного Проектирования. В этом плане, глядя на PHP, нужно радоваться.

Однако, ВЕСЬ PHP -- а вовсе не его объектная часть -- крайней слаб в качестве языка "индустриального программирования". Т.е. в тех областях, где ОО-языки дают сто очков вперед языкам обычным -- при разработке больших и сложнеых систем -- PHP оказывается фактически неприменим. Поэтому не стоит ждать особых чудес от объектного программирования на PHP.

Что же до упомянутой выше пятикратной потери скорости, то лично мне не верится, что дело здесь в объектах. Куда вероятнее, что надо смотреть на руки.

Crazy 04.11.2003 18:47

Кстати, весьма рекомендую сходить сюда: http://www.phppatterns.com/

mishinaelle 04.11.2003 18:50

2 Crazy : с руками как и с головой все в порядке. так что, ваша язва пролетела мимо :D

juggy 04.11.2003 18:56

Итак. Взял и рандомом засунул в базу 10.000 значений в виде

PHP код:

$sql "CREATE TABLE `test` ( `id` INT(11) NOT NULL AUTO_INCREMENT PRIMARY KEY, `parent` INT(11) NOT NULL, `title` VARCHAR(200) NOT NULL, `sub1` VARCHAR(200) NOT NULL, `sub2` VARCHAR(200) NOT NULL );"

Дальше взял и вывел это дело посчитав время.
Результат: 2.73

Потом взял и захреначил это всё в массивы и вывел.
Резельтат: 2.89

Разницы - секунда.

mishinaelle 04.11.2003 18:58

2 juggi: а при чем здесь база данных? мы говорили про ооп в пхп.

juggy 04.11.2003 19:00

! JUGGY !

А получал я по-твоему что?

mishinaelle 04.11.2003 19:02

ооп в пхп подрузамевает использование конструкций вида
class......
.....extends....
this->......
в твоем посте об этом речь не шла

mishinaelle 04.11.2003 19:04

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


Часовой пояс GMT +4, время: 20:11.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.