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 »   

> Без описания
sofck
Отправлено: 28 Января, 2010 - 16:03:06
Post Id



Гость


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


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




Скажите пожалуйста нужно ли мне углубляться в ооп или достаточно просто испльзовать функции?
Просто хочеться как то дальше повышать свои знания.
 
 Top
JustUserR
Отправлено: 28 Января, 2010 - 17:24:38
Post Id



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


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


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




sofck Вообще ООП бывает полезен при построении больших проектов - ведь основой ООП является инкапсуляция то есть возможность пользоваться интерфейсом модуля не зная и не вникая в его реализацию - таким образом классы дают больше возможности для создания кода-библиотек который используется многократно - ведь в нем в отличие от набора функций также хранятся и данные определенного типа в одной совокупности что позволяет использовать их более эффективно


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



Гость


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


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




Ну это понятно. Но что значит крупный проект.
Скажем я постоянно делаю проекты в которых используются "стандартные" возможности.
(новости,гостевая, галерея, каталог, управление страницами сайта). Всё это пишу индивидульно для каждого проекта.
Стоит ли мне в таких работах пробовать использовать ООП. Или под крупными проектами вы имеете ввиду что то другое?
 
 Top
voltag
Отправлено: 29 Января, 2010 - 20:25:49
Post Id


Новичок


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


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




Здравствуйте sofck
Крупный проект - проект над которым работаю больше двух программистов или в котором заканчивая проект вы плохо будете помнить, что вы писали вначале ))). Это первое применение ООП поскольку оно позволяет не париться насчёт имён переменных, и вам только надо задать разные имена ваших объектов.
Достоинство два. При разборе кода написанным чужим программистом если Вам надо изучить определённую функциональность и например применить её .. легче копаться в объекте, чем в 20 переплетённых функциях... но и объект конечно должен быть хорошо оформлен...
Это я всё к тому что JustUserR - прав )

Ещё достоинство. При использовании ООП в НЕКОТОРЫХ случаях ваш код будет работать быстрее. Например если вы у себя на сервере установите кеширование ПХП кода, точнее... хм.. интерпретатор перерабатывает Ваш код перед выполнением в удобную для него форму(байт код) и как раз эти данные кешируються. Если вы в используете процедурное программирование, то память для например строки объявленной Вами выделяется динамически.... а при использовании объектов(их объявлении) память Выделяется 1 раз для всего объекта. Следовательно методы ООП в таком случае работает быстрее.

ООП по сравнению с процедурным программированием заставляет программиста писать более структурированный код.

В некоторых случаях работать с объектами приятнее, чем с их процедурными аналогами.
Например mysql_fetch_object() вытягивает из мускул запроса - Объект с данными. По сраdнению с другими функциями получения результата MySQL запроса МНЕ удобнее работать именно с mysql_fetch_object()

Но не стоит быть фанатом объектов. Если Вам надо реализовать маленькую функциональность на странички лучше делать процедурами. И ООП работает медленнее, чем процедурное программирование(хотя я лично не проверял).

P.S Я допускаю что могу ошибаться в своих суждениях.

С уважением

(Отредактировано автором: 29 Января, 2010 - 20:53:46)

 
 Top
JustUserR
Отправлено: 30 Января, 2010 - 00:49:23
Post Id



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


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


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




voltag Да вы рассуждаете совершено правильно - надо знать меру применения объектам - использовать из разумно много и по назначению - но не надо превращать PHP в Java где даже в програмке Hello world используются ООП-фичи Подмигивание


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



Частый посетитель


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


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




sofck пишет:
Скажите пожалуйста нужно ли мне углубляться в ооп или достаточно просто испльзовать функции?
Просто хочеться как то дальше повышать свои знания.


ИМХО: Если ты не низкоуровневый программист не переваривающий ничего кроме ассема и си, то ООП тебе однозначно нужно, ибо оно почти всюду.

(Отредактировано автором: 30 Января, 2010 - 10:58:24)



-----
армия.. самое убогое место
 
 Top
biperch
Отправлено: 30 Января, 2010 - 11:01:00
Post Id



Частый посетитель


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


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




Короче пиши без ООП, когда оно тебе понадобится ты сам поймешь.
 
 Top
sofck
Отправлено: 31 Января, 2010 - 00:25:08
Post Id



Гость


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


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




biperch пишет:
короче пиши без ООП, когда оно тебе понадобится ты сам поймешь.


Вот думаю так вереней всего. Одно время я не понимал зачем многомерные массивы, а теперь даже не представляю как без них)
Спасибо за ваши ответы.
Ну и раз уж я затронул тему повышения навыков, то хотелось бы услышать ваше мнение...
Работаю с php,mysql,jquery(ajax). Что еще было бы "полезно", "не плохо бы" изучить?

(Отредактировано автором: 31 Января, 2010 - 00:26:50)

 
 Top
JustUserR
Отправлено: 31 Января, 2010 - 01:39:25
Post Id



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


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


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




sofck пишет:
Работаю с php,mysql,jquery(ajax).
Ой как не советую использовать jquery - потому что люди работая с ней совершенно перестают понимать настоящий JS - мне часто приходилось сталкиваться с теми кто после злоупотребления этой библиотекой не хочет понимать что же *на самом деле* происходит в языке
Против самого AJAX-а конечно же ничего против не имею (Оговорка для любитеоей неверно истолковывать фразы Улыбка
sofck пишет:
Что еще было бы "полезно", "не плохо бы" изучить?
Другие языки серверного программирования - например Perl или Python - ведь как известно есть задачи backend-а которые на стандартном PHP не могут быть решены (Например прогресс-бар при загрузке картинок - см темы на форуме Улыбка


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



Посетитель


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


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




Цитата:
Ой как не советую использовать jquery

Вам просто, вы писали, что у вас есть набор из разномастных библиотек, в которых вы разобрались.
Но другим людям Jquery будет удобнее Улыбка
 
 Top
Ch_chov
Отправлено: 31 Января, 2010 - 14:56:53
Post Id



Постоянный участник


Покинул форум
Сообщений всего: 2121
Дата рег-ции: Июль 2008  
Откуда: из города


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




JustUserR пишет:
Ой как не советую использовать jquery - потому что люди работая с ней совершенно перестают понимать настоящий JS
Ну тогда нужно вообще отказаться от использования любых фрэймворков...



JustUserR пишет:
после злоупотребления этой библиотекой не хочет понимать что же *на самом деле* происходит в языке
Наверно, всё таки это вина самого разработчика, а не jQuery.
 
 Top
ZeiZ
Отправлено: 31 Января, 2010 - 15:15:15
Post Id



Частый гость


Покинул форум
Сообщений всего: 231
Дата рег-ции: Нояб. 2009  
Откуда: Москва


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





Сам в ООП плавую, и с большим бы удовольствием изучил, если бы было время. Думаю оно ускорит разработку и дальнейшее обновление проектов станет быстрее. Вот уже пол года вяло движется один проект, думал, что всё сделаем быстро, поэтому не напрягся в изучении ООП и писал как умею.... Теперь проект ещё даже не в альфе, а функционал
разрастается как на дрожжах! В общем без ООП тяжело, но времени нет, ни на изучение ни на переписывание уже написанного. Нахмурился

(Отредактировано автором: 31 Января, 2010 - 15:16:02)

 
 Top
JustUserR
Отправлено: 31 Января, 2010 - 15:18:58
Post Id



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


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


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




Ch_chov пишет:
Ну тогда нужно вообще отказаться от использования любых фрэймворков...
Я бы сказал что не нужно ассоциировать фреймворт с языком программирования и мысленно им заменять его - считать что jquery это JS практически то же самое что считать что CLR это C++ что в корне неверно
Ch_chov пишет:
Наверно, всё таки это вина самого разработчика, а не jQuery.
Согласен но в этом есть и вина сообщества авторов многочисленных статьях и постов на форумах которые заместо того чтобы написать "Для решения этой задачи надо использовать JS но для упрощения работы подключим jquery" пишут "Используйте такую-то конструкцию на Jquery"
В результате новички теряют навыки работы с настощим JS и не могут проделать эоементарных вещей
Roler пишет:
Вам просто, вы писали, что у вас есть набор из разномастных библиотек, в которых вы разобрались.
Вы конечно правы но нельзя возводить Jquery в стандарт де-факто потому что это всего лишь одна (Из бесконечности потенциально возможных Улыбка библиотека (Фреймфорк) и ни коим образом не часть языка JS и даже не надстройка

PS Данными сообщениями я в том числе борюсь с высказываниями типа "Я выучил PHP mysql и Jquery" без знания реального JS - по мне это то же самое что скачать что "Я выучил C++ выучив CLR" хотя выучив CLR человек ни на капли не выучит C++ хотя бы потому что не научится работать ни с памятью ни с указателями и уж тем более низкоуровневыми подходами к программированию
PPS Мой вердикт - знание только библиотеки или надстройки над языком нельзя утверждать что знаешь сам язык

PPPS И псоледнее отступления для тех кто спрашивает почему я так въелся в эту тему - дело в том что я начал работать и создавать библиотеки на JS еще задолго до появления всяких там Jquery и прочих фреймворков - и не хочу чтобы возможности полноценного интерпретируемого языка путали с возможностями библиотеки (Против которой именно в роли библиотеки я ничего не имею Улыбка


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



Частый посетитель


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


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




sofck пишет:
Скажите пожалуйста нужно ли мне углубляться в ооп или достаточно просто испльзовать функции?
Просто хочеться как то дальше повышать свои знания.


Вопрос философски, как ты привык и тебе удобно так и пиши.
Я пришел в веб из ООП, посему пользую ООП. Другие предпочитают процедурность ...
По любому нужно по крайне мере буть знакомым и уметь понимать. Закачаешь ты себе библиотечку на ООП, и нужно будет знать что да как Подмигивание
 
 Top
Stierus Супермодератор
Отправлено: 01 Февраля, 2010 - 17:01:59
Post Id



Рекордсмен по количеству сообщений за 7 дней


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


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




Хоть последние 3 месяца я и не ответил ни на один пост, не касающийся ООП, я бы не стал его идеализировать. ООП - это не решение всех проблем или ускорение всего и вся в разы. И С применением ООП можно писать кривой, никому не нужный код и без ООП можно писать красивые вещи. Если вы еще не почувствовали надобность в ООП - можете изучить его позже, ничего страшного не случится. Вообще я бы сказал, что в php необходимость изучать ООП, много ниже, чем в системных языках (си, ява - любой ... коболы и прочие - тем более) из-за самого принципа работы (обработал и выплюнул, обработал и выплюнул ... тут нет мультипоточности именно на уровне языка, нет "ведения пользователя" в период всего сенса, пока открыта программа или браузер ... что бы все созданные экземпляры классов оставались при каждом запросе страниц пользователем) В общем, как тебе быстрее и удобнее - так и пиши, но постоянно совершенствуйся - со временем сам поймешь, нужно оно тебе или нет.
 
My status
 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