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
Форумы портала PHP.SU :: Версия для печати :: Рассудите (про классы)
Форумы портала PHP.SU » PHP » Программирование на PHP » Рассудите (про классы)

Страниц (2): [1] 2 »
 

1. antobra - 28 Ноября, 2010 - 20:51:10 - перейти к сообщению
Недавно тут общался со знакомым программистом и он мне сказал следующее.

Типа как я пишу коды с применением function и include'ов так уже никто не пишет и это технология написания скриптов было в 90-х годах и такой способ сильно усложняет работу сервера, т.е. если будет больше 100 посетителей, то скрипт начнет тупить и долго думать.
И сказал, что сейчас все пишут с применением классов и все остальное не используют и типа с классами скрипт работает быстрее.

Я конечно близко не отнесся к этой информации, но решил переспросить у вас: так это или нет?

Есть много сайтов написанных на пхп... самые крупные это вконтакте и фэйсбук. И ведь они работают, понятно, что мощности серверов большие, но php то работает исправно. Возможно даже кто-то из них не применяет классы.
2. Okula - 28 Ноября, 2010 - 21:01:18 - перейти к сообщению
antobra пишет:
Есть много сайтов написанных на пхп... самые крупные это вконтакте и фэйсбук. И ведь они работают, понятно, что мощности серверов большие, но php то работает исправно. Возможно даже кто-то из них не применяет классы.


Не стоит так сразу сравнивать свой сай с такими проектами как ВКонтакте или Фейсбук, для начала прочитай об их архитектуре. О ВКонтакте

Применение ООП увеличит производительность если его правильно использовать, это факт + нужно идти в ногу со временем.
3. OrmaJever - 28 Ноября, 2010 - 21:50:12 - перейти к сообщению
antobra знакомый немного приувеличил но от части он прав. Класы работают быстрее и читать их проще. Но небольшие сайты можно просто на функциях писать.
(Добавление)
Okula за сылку спасибо!!! самому интересно стало.
4. ALEN - 28 Ноября, 2010 - 22:45:02 - перейти к сообщению
У нас такие темы смотрю 2 раза в сутки задаются.
На второй странице еще по моему 2 темы про классы, там же все ответы на следующие ваши вопросы.
5. antobra - 29 Ноября, 2010 - 08:04:12 - перейти к сообщению
OrmaJever пишет:
antobra знакомый немного приувеличил но от части он прав. Класы работают быстрее и читать их проще. Но небольшие сайты можно просто на функциях писать.
(Добавление)
Okula за сылку спасибо!!! самому интересно стало.


А что посоветуешь? Для каких проектов лучше писать с классами, а для каких нет... ? Вот например, граница в 100 посетителей или в 500? или в 1000? Если брать с расчетом, что хостинг простой как: hc.ru ил masterhost
6. Phantik - 29 Ноября, 2010 - 10:04:38 - перейти к сообщению
Дело не в том что ООП код работает быстрее или медленнее процедурного. При прочих равных, скорее всего ООП код даже проиграет процедурному. При 100 посетителях и более одновременно, раньше, скорее всего, упадет СУБД.
А на то, что код:
myFunction();
выполняется на мгновение быстрее чем код
$myObject->myFunction();
не стоит обращать внимание.

Главная прелесть ООП совсем не в быстродействии, а в удобстве разработки, особенно больших проектов. А говнокод будет хреново работать и с использованием ООП и без использования.
7. antobra - 29 Ноября, 2010 - 11:03:51 - перейти к сообщению
Да, если так порассуждать... то, при разработке огромных проектов, классы конечно удобнее. Обдумав, тут я тоже соглашусь!

А у кого есть реальные примеры? Допустим, был скрипт, который тупил, а после перехода на "новые" технологии, он стал работать быстрее...

Кстати, чтоб не нагружать базу в лишний раз скажите сколько рекомендуется делать запросы к базе на одной загружаемой странице (например mysql_query и т.п.) ?
8. Uchkuma - 29 Ноября, 2010 - 11:06:39 - перейти к сообщению
antobra пишет:
А у кого есть реальные примеры? Допустим, был скрипт, который тупил, а после перехода на "новые" технологии, он стал работать быстрее...
Вы каким местом читаете?
Phantik пишет:
При прочих равных, скорее всего ООП код даже проиграет процедурному.
Phantik пишет:
Главная прелесть ООП совсем не в быстродействии, а в удобстве разработки
9. DeepVarvar - 29 Ноября, 2010 - 11:07:50 - перейти к сообщению
antobra пишет:
сколько рекомендуется

Если без БД никак - то рекомендую один запрос на страницу.. )))
Нужно больше? Так запрашивайте еще. Что значит сколько рекомендовано? Сколько надо столько и будет...
10. antobra - 29 Ноября, 2010 - 11:25:59 - перейти к сообщению
Uchkuma пишет:
Вы каким местом читаете?


Это мнение одного человека, за что ему благодарен. А вообще предполагалось, что выскажутся несколько программистов. Как известно, мнение одного человека может быть не объективно)
(Добавление)
DeepVarvar пишет:
antobra пишет:
сколько рекомендуется

Если без БД никак - то рекомендую один запрос на страницу.. )))
Нужно больше? Так запрашивайте еще. Что значит сколько рекомендовано? Сколько надо столько и будет...


Сейчас как раз занимаюсь адаптацией... по-возможности уменьшаю кол-во запросов к базе
11. Мелкий - 29 Ноября, 2010 - 11:42:33 - перейти к сообщению
antobra пишет:
А у кого есть реальные примеры? Допустим, был скрипт, который тупил, а после перехода на "новые" технологии, он стал работать быстрее...

Если такое есть - то это в первую очередь будет заслуга рефакторинга, переосмысливания кода и самой логики алгоритма, а только потом - технологий.

antobra пишет:
Кстати, чтоб не нагружать базу в лишний раз скажите сколько рекомендуется делать запросы к базе на одной загружаемой странице (например mysql_query и т.п.) ?

С точки зрения производительности - 0. И без PHP. Статичный html - быстрее всех! Радость Но неудобно в большинстве случаев.
С точки зрения удобства - столько, сколько надо. Вот где-то тут и надо найти компромисс.
12. ALEN - 29 Ноября, 2010 - 13:13:11 - перейти к сообщению
Посмотри вот этот класс:
http://forum.php.su/topic.php?fo...1&topic=5465

Попробуй написать это же код без ООП - и обрати внимание потом на удобность кода, количество строк + как я приводил уже пример просто наследовать класс и переписать часть отвечающую за кэш (например хранение не в файлах а в БД).

А еще удобно использовать

function __autoload($class_name) { include_once("./class/".$class_name.".php"); }

чтоб не подключать каждый класс, а он автоматически будет подключатся из папки class в наш код, если понадобится. Только этот момент на сколько упрощает жизнь.
13. JustUserR - 29 Ноября, 2010 - 15:39:49 - перейти к сообщению
Phantik пишет:
А на то, что код: myFunction(); выполняется на мгновение быстрее чем код
$myObject->myFunction();
В общем случае в PHP-приложениях действительно скорость выполнения конструкции с чистым вызовом целевой функции и метода экземпляра класса является эквивалентной - по причине выражения второго случая через первый посредством добавления идентификатора пространства имен как имени класса и передачи ссылки на информационный блок данных экземпляра Однако быстродействие конструкций обращения к чистой переменной и параметру экземпляра может являться дифферентным в большей мере - по причине выражения второго случая через вызов неявной функции с контролем присвоения значеня и уровня доступа класса
14. Phantik - 29 Ноября, 2010 - 16:17:34 - перейти к сообщению
2 JustUserR
Очень хотел вас понять, но не смог... Если бы вы попроще излагали свои мысли и ставили знаки препинания, было бы очень здорово.
15. ALEN - 29 Ноября, 2010 - 20:20:31 - перейти к сообщению
Phantik
Понятней - это имеется в виду что ты обращаешься к классу не пустому и представь, что этот класс наследует другой и в нем более 50 методов и еще больше свойств. Попробуй все это грамотно и красиво соединить и чтоб было удобно работать.

P.S. Еще раз рекомендую разобрать http://forum.php.su/topic.php?fo...1&topic=5465 и написать такое же без ООП - и поймешь, почему быстрей и удобней использовать классы

 

Powered by ExBB FM 1.0 RC1