Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757
Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737 Форумы портала PHP.SU :: Рассудите (про классы)
Покинул форум
Сообщений всего: 327
Дата рег-ции: Окт. 2010
Помог: 1 раз(а)
Недавно тут общался со знакомым программистом и он мне сказал следующее.
Типа как я пишу коды с применением function и include'ов так уже никто не пишет и это технология написания скриптов было в 90-х годах и такой способ сильно усложняет работу сервера, т.е. если будет больше 100 посетителей, то скрипт начнет тупить и долго думать.
И сказал, что сейчас все пишут с применением классов и все остальное не используют и типа с классами скрипт работает быстрее.
Я конечно близко не отнесся к этой информации, но решил переспросить у вас: так это или нет?
Есть много сайтов написанных на пхп... самые крупные это вконтакте и фэйсбук. И ведь они работают, понятно, что мощности серверов большие, но php то работает исправно. Возможно даже кто-то из них не применяет классы.
Okula
Отправлено: 28 Ноября, 2010 - 21:01:18
Участник
Покинул форум
Сообщений всего: 1389
Дата рег-ции: Окт. 2010
Помог: 42 раз(а)
antobra пишет:
Есть много сайтов написанных на пхп... самые крупные это вконтакте и фэйсбук. И ведь они работают, понятно, что мощности серверов большие, но php то работает исправно. Возможно даже кто-то из них не применяет классы.
Не стоит так сразу сравнивать свой сай с такими проектами как ВКонтакте или Фейсбук, для начала прочитай об их архитектуре. О ВКонтакте
Применение ООП увеличит производительность если его правильно использовать, это факт + нужно идти в ногу со временем.
OrmaJever
Отправлено: 28 Ноября, 2010 - 21:50:12
Активный участник
Покинул форум
Сообщений всего: 7540
Дата рег-ции: Янв. 2010 Откуда: Чернигов
Помог: 299 раз(а)
antobra знакомый немного приувеличил но от части он прав. Класы работают быстрее и читать их проще. Но небольшие сайты можно просто на функциях писать. (Добавление) Okula за сылку спасибо!!! самому интересно стало.
----- Если вы хотя бы 3-4 раза не решите всё выкинуть и начать заново - вы явно что-то делаете не так.
ALEN
Отправлено: 28 Ноября, 2010 - 22:45:02
Участник
Покинул форум
Сообщений всего: 1459
Дата рег-ции: Авг. 2008 Откуда: Крым
Помог: 11 раз(а)
У нас такие темы смотрю 2 раза в сутки задаются.
На второй странице еще по моему 2 темы про классы, там же все ответы на следующие ваши вопросы.
antobra
Отправлено: 29 Ноября, 2010 - 08:04:12
Посетитель
Покинул форум
Сообщений всего: 327
Дата рег-ции: Окт. 2010
Помог: 1 раз(а)
OrmaJever пишет:
antobra знакомый немного приувеличил но от части он прав. Класы работают быстрее и читать их проще. Но небольшие сайты можно просто на функциях писать. (Добавление) Okula за сылку спасибо!!! самому интересно стало.
А что посоветуешь? Для каких проектов лучше писать с классами, а для каких нет... ? Вот например, граница в 100 посетителей или в 500? или в 1000? Если брать с расчетом, что хостинг простой как: hc.ru ил masterhost
Phantik
Отправлено: 29 Ноября, 2010 - 10:04:38
Посетитель
Покинул форум
Сообщений всего: 305
Дата рег-ции: Июнь 2009
Помог: 0 раз(а)
Дело не в том что ООП код работает быстрее или медленнее процедурного. При прочих равных, скорее всего ООП код даже проиграет процедурному. При 100 посетителях и более одновременно, раньше, скорее всего, упадет СУБД.
А на то, что код:
myFunction();
выполняется на мгновение быстрее чем код
$myObject->myFunction();
не стоит обращать внимание.
Главная прелесть ООП совсем не в быстродействии, а в удобстве разработки, особенно больших проектов. А говнокод будет хреново работать и с использованием ООП и без использования.
antobra
Отправлено: 29 Ноября, 2010 - 11:03:51
Посетитель
Покинул форум
Сообщений всего: 327
Дата рег-ции: Окт. 2010
Помог: 1 раз(а)
Да, если так порассуждать... то, при разработке огромных проектов, классы конечно удобнее. Обдумав, тут я тоже соглашусь!
А у кого есть реальные примеры? Допустим, был скрипт, который тупил, а после перехода на "новые" технологии, он стал работать быстрее...
Кстати, чтоб не нагружать базу в лишний раз скажите сколько рекомендуется делать запросы к базе на одной загружаемой странице (например mysql_query и т.п.) ?
Uchkuma
Отправлено: 29 Ноября, 2010 - 11:06:39
Участник
Покинул форум
Сообщений всего: 1539
Дата рег-ции: Март 2010 Откуда: Киров
Помог: 6 раз(а)
antobra пишет:
А у кого есть реальные примеры? Допустим, был скрипт, который тупил, а после перехода на "новые" технологии, он стал работать быстрее...
Вы каким местом читаете?
Phantik пишет:
При прочих равных, скорее всего ООП код даже проиграет процедурному.
Phantik пишет:
Главная прелесть ООП совсем не в быстродействии, а в удобстве разработки
DeepVarvar
Отправлено: 29 Ноября, 2010 - 11:07:50
Активный участник
Покинул форум
Сообщений всего: 10377
Дата рег-ции: Дек. 2008 Откуда: Альфа Центавра
Помог: 353 раз(а)
antobra пишет:
сколько рекомендуется
Если без БД никак - то рекомендую один запрос на страницу.. )))
Нужно больше? Так запрашивайте еще. Что значит сколько рекомендовано? Сколько надо столько и будет...
Покинул форум
Сообщений всего: 327
Дата рег-ции: Окт. 2010
Помог: 1 раз(а)
Uchkuma пишет:
Вы каким местом читаете?
Это мнение одного человека, за что ему благодарен. А вообще предполагалось, что выскажутся несколько программистов. Как известно, мнение одного человека может быть не объективно) (Добавление)
DeepVarvar пишет:
antobra пишет:
сколько рекомендуется
Если без БД никак - то рекомендую один запрос на страницу.. )))
Нужно больше? Так запрашивайте еще. Что значит сколько рекомендовано? Сколько надо столько и будет...
Сейчас как раз занимаюсь адаптацией... по-возможности уменьшаю кол-во запросов к базе
Мелкий
Отправлено: 29 Ноября, 2010 - 11:42:33
Активный участник
Покинул форум
Сообщений всего: 11926
Дата рег-ции: Июль 2009 Откуда: Россия, Санкт-Петербург
Помог: 618 раз(а)
antobra пишет:
А у кого есть реальные примеры? Допустим, был скрипт, который тупил, а после перехода на "новые" технологии, он стал работать быстрее...
Если такое есть - то это в первую очередь будет заслуга рефакторинга, переосмысливания кода и самой логики алгоритма, а только потом - технологий.
antobra пишет:
Кстати, чтоб не нагружать базу в лишний раз скажите сколько рекомендуется делать запросы к базе на одной загружаемой странице (например mysql_query и т.п.) ?
С точки зрения производительности - 0. И без PHP. Статичный html - быстрее всех! Но неудобно в большинстве случаев.
С точки зрения удобства - столько, сколько надо. Вот где-то тут и надо найти компромисс.
----- PostgreSQL DBA
ALEN
Отправлено: 29 Ноября, 2010 - 13:13:11
Участник
Покинул форум
Сообщений всего: 1459
Дата рег-ции: Авг. 2008 Откуда: Крым
Попробуй написать это же код без ООП - и обрати внимание потом на удобность кода, количество строк + как я приводил уже пример просто наследовать класс и переписать часть отвечающую за кэш (например хранение не в файлах а в БД).
А еще удобно использовать
function __autoload($class_name) { include_once("./class/".$class_name.".php"); }
чтоб не подключать каждый класс, а он автоматически будет подключатся из папки class в наш код, если понадобится. Только этот момент на сколько упрощает жизнь.
JustUserR
Отправлено: 29 Ноября, 2010 - 15:39:49
Активный участник
Покинул форум
Сообщений всего: 8715
Дата рег-ции: Июнь 2009
Помог: 17 раз(а)
Phantik пишет:
А на то, что код: myFunction(); выполняется на мгновение быстрее чем код
$myObject->myFunction();
В общем случае в PHP-приложениях действительно скорость выполнения конструкции с чистым вызовом целевой функции и метода экземпляра класса является эквивалентной - по причине выражения второго случая через первый посредством добавления идентификатора пространства имен как имени класса и передачи ссылки на информационный блок данных экземпляра Однако быстродействие конструкций обращения к чистой переменной и параметру экземпляра может являться дифферентным в большей мере - по причине выражения второго случая через вызов неявной функции с контролем присвоения значеня и уровня доступа класса
----- Сделать можно все что угодно - нужно только старание, терпение и хороший поисковик
Безлимитный web-хостинг от 15 рублей за 40 МБ дискового пространства - http://ihost[dot]oks71[dot]ru/
Phantik
Отправлено: 29 Ноября, 2010 - 16:17:34
Посетитель
Покинул форум
Сообщений всего: 305
Дата рег-ции: Июнь 2009
Помог: 0 раз(а)
2 JustUserR
Очень хотел вас понять, но не смог... Если бы вы попроще излагали свои мысли и ставили знаки препинания, было бы очень здорово.
ALEN
Отправлено: 29 Ноября, 2010 - 20:20:31
Участник
Покинул форум
Сообщений всего: 1459
Дата рег-ции: Авг. 2008 Откуда: Крым
Помог: 11 раз(а)
Phantik
Понятней - это имеется в виду что ты обращаешься к классу не пустому и представь, что этот класс наследует другой и в нем более 50 методов и еще больше свойств. Попробуй все это грамотно и красиво соединить и чтоб было удобно работать.
Все гости форума могут просматривать этот раздел. Только зарегистрированные пользователи могут создавать новые темы в этом разделе. Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.