[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: зачем ОПП в PHP
Ивaн
Подскажите пожалуйст зачем ООП в PHP вообще?



Спустя 2 часа, 50 минут, 47 секунд (28.09.2008 - 14:38) vasa_c написал(а):
За тем же зачем оно в других языках.
Воспользуйтесь поиском и найдите ещё пятьдесят подобных тем.

Спустя 2 дня, 49 минут, 45 секунд (30.09.2008 - 15:27) ARseny написал(а):
друзья, а я вот не поленюсь и скажу пару слов по этому вопросу. а потому что я сам именно сейчас изучаю ООП в пшп.
для того чтобы понять суть вопроса, нужно понимать, что в системных программах (в которых преимущественно применяется ООП, данные еще могут долгое время оставаться в оперативной памяти, когда пшп скрипт исполнился и удалился из рам. но ооп в пшп все таки нужно. для чего?

1. для того чтобы прогеры, которые владеют ООП, могли свободно и без лишних нареканий перейти допустим с с++ на php.
2. для повышения универсальности и многоразовости использования кода.

вот в кратце и объяснил...

Спустя 53 минуты, 55 секунд (30.09.2008 - 16:21) vasa_c написал(а):
Да причём тут вообще "долгое время"? Чего к нему все привязались?

Спустя 3 часа, 53 минуты, 45 секунд (30.09.2008 - 20:15) ARseny написал(а):
при том что ооп прежде всего предназначен для системных языков, так как данные, как я уже говорил, могут оставать в оперативной памяти после выполнения программы, а пшп скрипт исполнился, и с оперативной памяти данные, которые выделялись для этого скрипта, удалились. вот и все. поэтому в пшп ооп не так критично, я вот раньше и с процедурным кодинком справлялся с поставленными задачами, но терь вот учу ооп, для профессионального кодинга...

Спустя 30 минут, 42 секунды (30.09.2008 - 20:46) sergeiss написал(а):
Цитата(ARseny @ 30.9.2008, 16:27) [snapback]49727[/snapback]
друзья, а я вот не поленюсь и скажу пару слов по этому вопросу. а потому что я сам именно сейчас изучаю ООП в пшп.
для того чтобы понять суть вопроса, нужно понимать, что в системных программах (в которых преимущественно применяется ООП, данные еще могут долгое время оставаться в оперативной памяти, когда пшп скрипт исполнился и удалился из рам. но ооп в пшп все таки нужно. для чего?

1. для того чтобы прогеры, которые владеют ООП, могли свободно и без лишних нареканий перейти допустим с с++ на php.
2. для повышения универсальности и многоразовости использования кода.

вот в кратце и объяснил...

Если это объяснение было "чиста для прикола", то тогда оно пойдет. А если как-бы серьезное, то почти всё неверно.

Для повышения универсальности и многоразовости... Да. Это верно. А всё остальное - "от лукавого" smile.gif

При чем тут "долго оставаться в оперативной памяти"? Любые переменные (и классы) работают, пока работает программа. Не более того. И ООП тут никак не выделяется.

При чем тут нарекания привыкших к ООП проггеров - тоже не понятно. Ну я вот после С++ начал на PHP писать. Классами иногда пользуюсь, но мало. Мог бы и без них обойтись, наверно. Хотя с ними удобнее и привчнее. Да и вообще smile.gif Когда разрабатывали PHP, я более чему увере, то думали больше о хороших возможностях языка, а не об удобстве перехода с других языков.

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

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

Можно и еще много чего сказать... Только по делу надо говорить smile.gif

Спустя 32 минуты, 26 секунд (30.09.2008 - 21:18) ARseny написал(а):
да ты вижу любишь мысли других повторять... вообще я то же самое сказал.

1. многоразовость и использование в команде.
2. удобство для кодеров, которые привыкли к ООП
3. а насчет целостности это ты просто гениально придумал...

Спустя 12 минут, 14 секунд (30.09.2008 - 21:30) sergeiss написал(а):
Цитата(ARseny @ 30.9.2008, 22:18) [snapback]49769[/snapback]
да ты вижу любишь мысли других повторять... вообще я то же самое сказал.

1. многоразовость и использование в команде.
2. удобство для кодеров, которые привыкли к ООП
3. а насчет целостности это ты просто гениально придумал...

Если мысль умная, то что же не повторить? smile.gif

Насчет целостности данных это не я придумал, а разработчики самого метода ООП... Я на эти лавры не претендую. А ты вот, я вижу, шЫбко абЫдчивый smile.gif

И ты сказал ДАЛЕКО НЕ ТО ЖЕ САМОЕ, что я! В частности, ты многократно повторяешь НЕПРАВИЛЬНУЮ мысль о том, что ООП, якобы, оставляет что-то в памяти по окончании выполнения программы. Забудь! smile.gif Программы выключилась - любые связанные с ней данные исчезли. ООП - это просто способ рационального использования данных и функций, не более того.
Также, еще раз повторю (свои слова, кстати) - при чем тут УДОБСТВО кодеров, привыкших к ООП? Разработчик языка думает больше об ЭФФЕКТИВНОСТИ самого языка. Эдак ты и массивы объявишь не более, чем "удобством кодера", мол, чтобы много переменных не писать, лентяи придумали массивы smile.gif

Спустя 5 минут, 14 секунд (30.09.2008 - 21:36) ARseny написал(а):
да не обидчивый я, просто обидно когда мои слова неправильно "цитируют"

насчет удобства ООП пшп кодерам, которые перешли с системных языков программирования, эт я в книге прочитал. а там пишут специалисты. даж не наши, а америкоские. думаешь они не правы??? (я с ними согласен)

а по поводу буфера ты видно неправильно понял. пшп скрипты выполняются и сразу же из оперативной памяти стираются. а системные проги после выполнения могут еще находиться в оперативной памяти. например закрыл ты программу, допустим текстовый редактор, а он засел в системе и проверяет че ты делаешь и какие-еще приложения запускаешь, или запустит таймер чтобы установить шареваре продукт... еще можно много примеров привести, надеюсь ЯСНО очем я??

Спустя 2 минуты, 16 секунд (30.09.2008 - 21:38) vasa_c написал(а):
Какая каша у людей в голове, а ещё объясняют другим sad.gif
Начнём с простого - что это за "системные языки" такие?

Спустя 2 минуты, 33 секунды (30.09.2008 - 21:40) ARseny написал(а):
лад может я действительно немного намутил. языки с++ и ява. а вообще форум по пшп поэтому лучше думаю их не тревожить...

Спустя 4 минуты, 55 секунд (30.09.2008 - 21:45) sergeiss написал(а):
Цитата(ARseny @ 30.9.2008, 22:36) [snapback]49772[/snapback]
да не обидчивый я, просто обидно когда мои слова неправильно "цитируют"

Как это "неправильно"? smile.gif Прямо дословно цитирую. Посмотри-ка внимательнее.
Цитата(ARseny @ 30.9.2008, 22:36) [snapback]49772[/snapback]
насчет удобства ООП пшп кодерам, которые перешли с системных языков программирования, эт я в книге прочитал. а там пишут специалисты. даж не наши, а америкоские. думаешь они не правы??? (я с ними согласен)

Ежели говорить просто об удобстве перехода на ПХП после Си - это есть. По себе знаю. Но при чем тут ООП???
Цитата(ARseny @ 30.9.2008, 22:36) [snapback]49772[/snapback]
а по поводу буфера ты видно неправильно понял. пшп скрипты выполняются и сразу же из оперативной памяти стираются. а системные проги после выполнения могут еще находиться в оперативной памяти. например закрыл ты программу, допустим текстовый редактор, а он засел в системе и проверяет че ты делаешь и какие-еще приложения запускаешь, или запустит таймер чтобы установить шареваре продукт... еще можно много примеров привести, надеюсь ЯСНО очем я??

Возможно, ты это и имел ввиду ранее. Но говорил так, что воспринимается по-другому.
И опять же. При чем тут ООП?????

ООП - это, как я уже говорил, не более чем удобная форма организации взаимодействия данных и функций (это если глобально подходить, не вдаваясь в частности).

Спустя 17 часов, 9 минут (1.10.2008 - 14:54) ARseny написал(а):
> ООП - это, как я уже говорил, не более чем удобная форма организации взаимодействия данных и функций (это если глобально подходить, не вдаваясь в частности).

с этим согласен.

Спустя 5 дней, 19 часов, 7 минут, 55 секунд (7.10.2008 - 10:02) Vaska написал(а):
ARseny
"Автосборка мусора" - это прерогатива не только пхп, но и Perl и даже JAVA (они очень этим гордятся) и еще многих языков (в основном интерпретируемых, даже JAVA-машиной). Там сборщиками мусора работают сами интерпретаторы, а вообще, то что нужно освободить память по завершению работы программы - это как бы далеко в прошлом осталось, оси сами в состоянии выгрузить из памяти даже зависшую программу, хоть и не всегда.
Это маленькое лирическое отступление, чтоб вы поняли, что ООП тут ни причем.
Америкосовским авторам я советую доверять, но не в той степени, что доверяете вы. Я вообще не склонен читать книги написанные этническими америкосами (кроме книг Ларри Уолла), вот люди приехавшие жить в США, то другое дело (Бьерн Страуструп, Линус Торвальдс). Но дело даже не в этом, на Западе люди не умнее и не глупее, они просто другие...
По сути.
Вы любите читать книги? Я так понял, что да. Покопайтесь в справочниках и книжках по программированию (с ООП), и вы найдете не мало интерпретаций одной и той же истории, про появление ОО парадигмы. В кратце: машинный код=>ассемблеры=>процедурный код=>ООП=>(Может даже про параллельное программирование найдете). Каждый переход был ознаменован одним и тем же аргументом, а именно "Программы становились больше и сложнее, их становилось все сложнее обслуживать и тогда появился человек, и тра-та-та", что-то вроде Маркса и Энгельса "Верхи не могут, низы не хотят")))
Так же появилась и парадигма ООП. Программы стали занимать сотни тысяч строк, полностью прочесть программу и понять, всю логику ее работы, одному человеку стало не под силу. Тогда были изобретены сущности, или объекты. Оказалось, что для человека проще запомнить объект "машина" со всеми действиями, которые она выполняет, нежели десяток мало зависимых друг от друга функций. Так программы стали делить на классы, подклассы, интерфейсы и т.д. Теперь один программист знает устройство класса и знает как работают сокрытые в нем функции и какие данные используются и для чего, а второй имеет представление об общей логики программы, используя сущности предоставляемые ему прикладными программистами, и ему не надо вдумываться, что и как происходит внутри класса, он просто передал методу в классе некоторый тип данных и получил требуемый ему ответ. Вы скажете, что и обычная функция может делать тоже самое, да может, но если Вы еще поняли сути, значит просто не видели больших программ, где все взаимодействие гораздо сложнее, и без ООП там не обойтись той же кровью.

Спустя 4 дня, 6 часов, 6 минут, 53 секунды (11.10.2008 - 16:09) ARseny написал(а):
Vaska
Я с вами согласен, умная речь. Вот только я не буду говорить что обычная функция может делать тоже самое что и объекты, да и к тому же американские авторы мне нравятся, не буду скрывать, да пусть они немного другие, но именно их стиль мне нравится... в конце концов интернет и языки программирования на всех одни, и вообще доминирующий язык в компьютерной сфере - английский, поэтому амераканских авторов надо уважать...

Спустя 11 дней, 6 часов, 19 минут, 9 секунд (22.10.2008 - 22:28) Sephiroth_Lukaw написал(а):
Цитата
Подскажите пожалуйст зачем ООП в PHP вообще?
Из-за удобства, зачем же ещё?))

Спустя 1 день, 12 часов, 45 минут, 16 секунд (24.10.2008 - 11:13) bearman написал(а):
да хотя бы потому что это удобно черт возьми )))

http://phpdude.ru/archives/59

Спустя 17 дней, 5 часов, 39 минут, 23 секунды (11.11.2008 - 17:53) solib написал(а):
в лёгкой гостевухе угодно не парится с ООП
ибо там раз два и обчёлся функций
а вот если писать сложную портальную систему где надо чтобы работало много функций удобней....
ну к примеру всяко легче разбиратся в книге где пронумерованы страницы и есть содердание чем сплошной конспект на 1000 страниц без подсказок где и что найти


_____________
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.