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 :: Рассудите (про классы)

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


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

> Без описания
antobra
Отправлено: 28 Ноября, 2010 - 20:51:10
Post Id


Посетитель


Покинул форум
Сообщений всего: 327
Дата рег-ции: Окт. 2010  


Помог: 1 раз(а)




Недавно тут общался со знакомым программистом и он мне сказал следующее.

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

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

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



Участник


Покинул форум
Сообщений всего: 1389
Дата рег-ции: Окт. 2010  


Помог: 42 раз(а)




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


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

Применение ООП увеличит производительность если его правильно использовать, это факт + нужно идти в ногу со временем.
 
 Top
OrmaJever Модератор
Отправлено: 28 Ноября, 2010 - 21:50:12
Post Id



Активный участник


Покинул форум
Сообщений всего: 7540
Дата рег-ции: Янв. 2010  
Откуда: Чернигов


Помог: 299 раз(а)




antobra знакомый немного приувеличил но от части он прав. Класы работают быстрее и читать их проще. Но небольшие сайты можно просто на функциях писать.
(Добавление)
Okula за сылку спасибо!!! самому интересно стало.


-----
Если вы хотя бы 3-4 раза не решите всё выкинуть и начать заново - вы явно что-то делаете не так.
 
 Top
ALEN
Отправлено: 28 Ноября, 2010 - 22:45:02
Post Id



Участник


Покинул форум
Сообщений всего: 1459
Дата рег-ции: Авг. 2008  
Откуда: Крым


Помог: 11 раз(а)




У нас такие темы смотрю 2 раза в сутки задаются.
На второй странице еще по моему 2 темы про классы, там же все ответы на следующие ваши вопросы.
 
 Top
antobra
Отправлено: 29 Ноября, 2010 - 08:04:12
Post Id


Посетитель


Покинул форум
Сообщений всего: 327
Дата рег-ции: Окт. 2010  


Помог: 1 раз(а)




OrmaJever пишет:
antobra знакомый немного приувеличил но от части он прав. Класы работают быстрее и читать их проще. Но небольшие сайты можно просто на функциях писать.
(Добавление)
Okula за сылку спасибо!!! самому интересно стало.


А что посоветуешь? Для каких проектов лучше писать с классами, а для каких нет... ? Вот например, граница в 100 посетителей или в 500? или в 1000? Если брать с расчетом, что хостинг простой как: hc.ru ил masterhost
 
 Top
Phantik
Отправлено: 29 Ноября, 2010 - 10:04:38
Post Id


Посетитель


Покинул форум
Сообщений всего: 305
Дата рег-ции: Июнь 2009  


Помог: 0 раз(а)




Дело не в том что ООП код работает быстрее или медленнее процедурного. При прочих равных, скорее всего ООП код даже проиграет процедурному. При 100 посетителях и более одновременно, раньше, скорее всего, упадет СУБД.
А на то, что код:
myFunction();
выполняется на мгновение быстрее чем код
$myObject->myFunction();
не стоит обращать внимание.

Главная прелесть ООП совсем не в быстродействии, а в удобстве разработки, особенно больших проектов. А говнокод будет хреново работать и с использованием ООП и без использования.
 
 Top
antobra
Отправлено: 29 Ноября, 2010 - 11:03:51
Post Id


Посетитель


Покинул форум
Сообщений всего: 327
Дата рег-ции: Окт. 2010  


Помог: 1 раз(а)




Да, если так порассуждать... то, при разработке огромных проектов, классы конечно удобнее. Обдумав, тут я тоже соглашусь!

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

Кстати, чтоб не нагружать базу в лишний раз скажите сколько рекомендуется делать запросы к базе на одной загружаемой странице (например mysql_query и т.п.) ?
 
 Top
Uchkuma
Отправлено: 29 Ноября, 2010 - 11:06:39
Post Id



Участник


Покинул форум
Сообщений всего: 1539
Дата рег-ции: Март 2010  
Откуда: Киров


Помог: 6 раз(а)




antobra пишет:
А у кого есть реальные примеры? Допустим, был скрипт, который тупил, а после перехода на "новые" технологии, он стал работать быстрее...
Вы каким местом читаете?
Phantik пишет:
При прочих равных, скорее всего ООП код даже проиграет процедурному.
Phantik пишет:
Главная прелесть ООП совсем не в быстродействии, а в удобстве разработки
 
 Top
DeepVarvar Супермодератор
Отправлено: 29 Ноября, 2010 - 11:07:50
Post Id



Активный участник


Покинул форум
Сообщений всего: 10377
Дата рег-ции: Дек. 2008  
Откуда: Альфа Центавра


Помог: 353 раз(а)




antobra пишет:
сколько рекомендуется

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


Посетитель


Покинул форум
Сообщений всего: 327
Дата рег-ции: Окт. 2010  


Помог: 1 раз(а)




Uchkuma пишет:
Вы каким местом читаете?


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

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


Сейчас как раз занимаюсь адаптацией... по-возможности уменьшаю кол-во запросов к базе
 
 Top
Мелкий Супермодератор
Отправлено: 29 Ноября, 2010 - 11:42:33
Post Id



Активный участник


Покинул форум
Сообщений всего: 11926
Дата рег-ции: Июль 2009  
Откуда: Россия, Санкт-Петербург


Помог: 618 раз(а)




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

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

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

С точки зрения производительности - 0. И без PHP. Статичный html - быстрее всех! Радость Но неудобно в большинстве случаев.
С точки зрения удобства - столько, сколько надо. Вот где-то тут и надо найти компромисс.


-----
PostgreSQL DBA
 
 Top
ALEN
Отправлено: 29 Ноября, 2010 - 13:13:11
Post Id



Участник


Покинул форум
Сообщений всего: 1459
Дата рег-ции: Авг. 2008  
Откуда: Крым


Помог: 11 раз(а)




Посмотри вот этот класс:
http://forum.php.su/topic.php?fo...1&topic=5465

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

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

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

чтоб не подключать каждый класс, а он автоматически будет подключатся из папки class в наш код, если понадобится. Только этот момент на сколько упрощает жизнь.
 
 Top
JustUserR
Отправлено: 29 Ноября, 2010 - 15:39:49
Post Id



Активный участник


Покинул форум
Сообщений всего: 8715
Дата рег-ции: Июнь 2009  


Помог: 17 раз(а)




Phantik пишет:
А на то, что код: myFunction(); выполняется на мгновение быстрее чем код
$myObject->myFunction();
В общем случае в PHP-приложениях действительно скорость выполнения конструкции с чистым вызовом целевой функции и метода экземпляра класса является эквивалентной - по причине выражения второго случая через первый посредством добавления идентификатора пространства имен как имени класса и передачи ссылки на информационный блок данных экземпляра Однако быстродействие конструкций обращения к чистой переменной и параметру экземпляра может являться дифферентным в большей мере - по причине выражения второго случая через вызов неявной функции с контролем присвоения значеня и уровня доступа класса


-----
Сделать можно все что угодно - нужно только старание, терпение и хороший поисковик Улыбка
Безлимитный web-хостинг от 15 рублей за 40 МБ дискового пространства - http://ihost[dot]oks71[dot]ru/
 
 Top
Phantik
Отправлено: 29 Ноября, 2010 - 16:17:34
Post Id


Посетитель


Покинул форум
Сообщений всего: 305
Дата рег-ции: Июнь 2009  


Помог: 0 раз(а)




2 JustUserR
Очень хотел вас понять, но не смог... Если бы вы попроще излагали свои мысли и ставили знаки препинания, было бы очень здорово.
 
 Top
ALEN
Отправлено: 29 Ноября, 2010 - 20:20:31
Post Id



Участник


Покинул форум
Сообщений всего: 1459
Дата рег-ции: Авг. 2008  
Откуда: Крым


Помог: 11 раз(а)




Phantik
Понятней - это имеется в виду что ты обращаешься к классу не пустому и представь, что этот класс наследует другой и в нем более 50 методов и еще больше свойств. Попробуй все это грамотно и красиво соединить и чтоб было удобно работать.

P.S. Еще раз рекомендую разобрать http://forum.php.su/topic.php?fo...1&topic=5465 и написать такое же без ООП - и поймешь, почему быстрей и удобней использовать классы
 
 Top
Страниц (2): [1] 2 »
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Программирование на PHP »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB