powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / ООП или функции
25 сообщений из 36, страница 1 из 2
ООП или функции
    #37719535
Wrun
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый день!

Разъясните доходчиво плиз следующее:

Никак не могу перейти на ООП на PHP.

В принципе классы я понимаю, я не понимаю реального преимущества.

Можно ли какой-нибудь пример из жизни, а то всё что нагуглил - абстрактно (
...
Рейтинг: 0 / 0
ООП или функции
    #37719600
Жырный Тони
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Процедурное программирование лучше подходит для случаев, когда важны быстродействие и используемые программой ресурсы, но требует большего времени для разработки.
Объектное — когда важна управляемость проекта и его модифицируемость, а также скорость разработки
...
Рейтинг: 0 / 0
ООП или функции
    #37719606
Wrun
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спасибо! Но теории я начитался, по факту не вижу ни одного момента где ООП выигрывает
...
Рейтинг: 0 / 0
ООП или функции
    #37719610
?
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
?
Гость
Wrun я не понимаю реального преимущества.

Можно ли какой-нибудь пример из жизниПреимущество будет, когда в проекте несколько миллионов строк кода.
...
Рейтинг: 0 / 0
ООП или функции
    #37719685
ShSerge
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
?Wrun я не понимаю реального преимущества.

Можно ли какой-нибудь пример из жизниПреимущество будет, когда в проекте несколько миллионов строк кода.
Такие проекты - фтопку. Однозначно.
На самом деле, ооп в пхп используется именно для программирования "чёрных ящиков". Иными словами, если использовать посторонние компоненты, написанные другими для других - то без этого никак. Если писать свои собственные, чтобы было удобно использовать другим программистам - опять таки да. Никаких других причин использования ооп в пхп нет.
...
Рейтинг: 0 / 0
ООП или функции
    #37719688
Wrun
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ShSerge?пропущено...
Преимущество будет, когда в проекте несколько миллионов строк кода.
Такие проекты - фтопку. Однозначно.
На самом деле, ооп в пхп используется именно для программирования "чёрных ящиков". Иными словами, если использовать посторонние компоненты, написанные другими для других - то без этого никак. Если писать свои собственные, чтобы было удобно использовать другим программистам - опять таки да. Никаких других причин использования ооп в пхп нет.

Вот это мне понравилось, благодарю ShSerge!

Кажется пришло понимание! Я просто всегда использовал только свои собственные разработки, и не имел проблем. Теперь задумаюсь!
...
Рейтинг: 0 / 0
ООП или функции
    #37719701
Жырный Тони
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
WrunСпасибо! Но теории я начитался, по факту не вижу ни одного момента где ООП выигрывает
Я не знаю ПХП, поэтому постараюсь придумать более-менее общий пример.
Допустим в базе данных ты хранишь координаты геометрических фигур-ролигонов. Твой скрипт должен получить 10 рандомных фигур и посчитать их площадь и периметр.
Не используя ООП ты напишешь функции для получения массива координат, вычисления площади и периметра, потом пройдешься циклом по координатам и получишь еще два массива: с площадями и с периметрами и все эти данные передашь в скрипт, который у тебя генерит HTML-ку и в этом скрипте опять циклами будешь доставать значения.
Используя ООП ты напишешь класс, который инкапсулирует координаты, функцию вычисления площади и периметра. И одним циклом ты получишь один массив объектов передавая конструктору класса координаты. Проход по этому массиву даст объекты с методами, которые вернут то что тебе надо.
Если в дальнейшем, у тебя изменится ТЗ, и кроме площади и периметра тебе нужно будет вычислять еще, например, момент инерции, то ты просто добавишь один метод в класс. И все. С функциями тебе придется создавать не только еще одну функцию, но и еще один массив и переделывать логику извлечения рассчитанных данных в HTML.
...
Рейтинг: 0 / 0
ООП или функции
    #37719722
ShSerge
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Жырный Тони...Допустим в базе данных ты хранишь координаты геометрических фигур-ролигонов. Твой скрипт должен получить 10 рандомных фигур и посчитать их площадь и периметр...
Это может без проблем сделать сервер БД. Даже никаких программ писать, кроме грамотного селекта на SQL не нужно.
...
Рейтинг: 0 / 0
ООП или функции
    #37719756
Жырный Тони
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ShSergeЖырный Тони...Допустим в базе данных ты хранишь координаты геометрических фигур-ролигонов. Твой скрипт должен получить 10 рандомных фигур и посчитать их площадь и периметр...
Это может без проблем сделать сервер БД. Даже никаких программ писать, кроме грамотного селекта на SQL не нужно.
Видимо ты не пропускаешь возможности поумничать.
Тогда сделаем оговорку, у нас база на Sqlite.
...
Рейтинг: 0 / 0
ООП или функции
    #37719768
ShSerge
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Жырный ТониShSergeпропущено...

Это может без проблем сделать сервер БД. Даже никаких программ писать, кроме грамотного селекта на SQL не нужно.
Видимо ты не пропускаешь возможности поумничать.
Тогда сделаем оговорку, у нас база на Sqlite.
Троллить меня не стòит. Кстати, на SQLite я достаточно хорошо умею писàть. Как раз на нём, это делается очень просто.
...
Рейтинг: 0 / 0
ООП или функции
    #37719933
Фотография ScareCrow
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторНа самом деле, ооп в пхп используется именно для программирования "чёрных ящиков". Иными словами, если использовать посторонние компоненты, написанные другими для других - то без этого никак
бред.
черный ящик можно писать как угодно. главное что у него есть вход и выход.
...
Рейтинг: 0 / 0
ООП или функции
    #37719939
Фотография r u
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Wrun,

ООП стоит применять там где появляются объекты (капитан очевидность)))

Пример:
У вас на сайте есть авторизация.
Авторизованные пользователи имеют разные уровни доступа к разным страницам, имеют свои настройки разные, аватарки, подписи, координаты для связи и т.д.

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

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

в этом и есть один из плюсов. а есть и другие. связанные с простотой наследования функциональности, разделение доступа к данным и методам(private,public....)
...
Рейтинг: 0 / 0
ООП или функции
    #37719940
ShSerge
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ScareCrowбред.
черный ящик можно писать как угодно. главное что у него есть вход и выход.
Можно и как угодно. Самое главное, если есть вход и выход, а в исходном коде разбираться не надо. Это и называется "чёрный ящик".
...
Рейтинг: 0 / 0
ООП или функции
    #37719954
Фотография r u
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ShSergeScareCrowбред.
черный ящик можно писать как угодно. главное что у него есть вход и выход.
Можно и как угодно. Самое главное, если есть вход и выход, а в исходном коде разбираться не надо. Это и называется "чёрный ящик".
если у черного ящика один вход и один выход - то его можно(и нужно) реализовать одной функцией.

а если входов и выходов много, плюс ящик имеет разные состояния для разных входов? - тут уже проще сделать через ООП, так как там для этого есть готовые механизмы. а в процедурном стиле придется все это заново придумывать и кодить. и получится тоже самое ООП. только своё) велосипедное
...
Рейтинг: 0 / 0
ООП или функции
    #37719958
ShSerge
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
r u...проблема в том, что поддерживать все это геморойно. данные разрозненны, хранятся в разных местах, вытаскиваются разными функциями. все это нужно помнить самому, а лучше хорошо описать в документации....
И я о том же. Как раз это я и назвал "чёрным ящиком". Допустим, имеется объект определённого класса, у него имеются поля и медоды. И всё это дело хорошо задокументировано. Тот, кто использует класс, не должен задумываться над тем, как всё это дело устроено, а просто использовать.
...
Рейтинг: 0 / 0
ООП или функции
    #37719965
ShSerge
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
r u...если у черного ящика один вход и один выход - то его можно(и нужно) реализовать одной функцией....
Нефиг к словам придираться.
...
Рейтинг: 0 / 0
ООП или функции
    #37720183
alex_2307
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
WrunДобрый день!

Разъясните доходчиво плиз следующее:

Никак не могу перейти на ООП на PHP.

В принципе классы я понимаю, я не понимаю реального преимущества.

Можно ли какой-нибудь пример из жизни, а то всё что нагуглил - абстрактно (

Не заморачивайтесь и пишите как удобно. ИМХО ООП в PHP притянуто за ухи.
ООП актуально когда речь идет во-первых об управлении событиями, во-вторых при наличии визуальных обьектов.

Без ООП невозможно представить работу c JavaScript, Delphi и т.п.. В PHP это дань псевдоакадемической моде.
...
Рейтинг: 0 / 0
ООП или функции
    #37720222
Фотография Hett
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторБез ООП невозможно представить работу c JavaScript
Да ладно, весь жиквери написан на клосури функциях.
...
Рейтинг: 0 / 0
ООП или функции
    #37720225
Фотография Hett
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
И делфи вы можете взять так же и писать без применения ООП, кто мешает то?
...
Рейтинг: 0 / 0
ООП или функции
    #37720251
alex_2307
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
HettИ делфи вы можете взять так же и писать без применения ООП, кто мешает то?

И Delphi и JavaScript представляют собой иерархическую модель данных реализованных в виде обьектов. В Delphi наверху TForm в javaScript - Doument. Если хотя бы обрабатываете нажание на кнопку, то уже используете ООП.
...
Рейтинг: 0 / 0
ООП или функции
    #37720259
ShSerge
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
alex_2307ИМХО ООП в PHP притянуто за ухи.
Да нет, нормально всё. Другое дело, что в пхп знание ООП совершенно вторично. Если кому очень охота поизощряться в ООП - ява или сишарп. Там без этого дела даже хелловорлд не написать.
ПС. Умиляют иногда местные посты, в которых используется слово "класс" вместо "экземпляр класса", ну и другие ошибки, от которых глаза на лоб лезут у любого, кто хотя бы более-менее в этом самом ООП разбирается.
...
Рейтинг: 0 / 0
ООП или функции
    #37720288
alex_2307
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ShSergealex_2307ИМХО ООП в PHP притянуто за ухи.
Да нет, нормально всё. Другое дело, что в пхп знание ООП совершенно вторично.

.

Да разумеется нормально, просто есть языки в которых иерархия данных заложена в обьектах изначально - вроде тех что я приводил. А ПХП язык ПРОЦЕДУРНЫЙ по своей сути, он инкапсулирует в себя самы разные процедуры (функции) в зависимости от параметра configure.

Но именно фкнкции, а не обьекты.
...
Рейтинг: 0 / 0
ООП или функции
    #37720381
Фотография Hett
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
alex_2307HettИ делфи вы можете взять так же и писать без применения ООП, кто мешает то?

И Delphi и JavaScript представляют собой иерархическую модель данных реализованных в виде обьектов. В Delphi наверху TForm в javaScript - Doument. Если хотя бы обрабатываете нажание на кнопку, то уже используете ООП.

Да ну что вы такое говорите.
Во-первых если даже говорить о том шаблоне, в котором обычно пишутся аппикейшены отцом всего является не форма а сам аппликейшен.
Во-вторых, если в JS вы будете использовать прототип document, это не сделает ваш код ОО. Я могу так же и в пхп заюзать, да и вообще вы выбрали самый плохой пример, как правило в JS нет никакой объектной парадигмы. Да и document - с маленькой буквы.
В третих, я могу и на пхп взять какой-то фреймворк (по сути делфийский набор компонентов, в который и входит тот же ваш TForm) и мой код станет таким же ОО.
...
Рейтинг: 0 / 0
ООП или функции
    #37720388
Фотография Hett
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
alex_2307Но именно фкнкции, а не обьекты.

Я вас щас сильно удивлю, но в пхп куча объектов, к чему такие заявления вообще? Если даже в ЯП не будет инкапсулировано ни одного объекта, но есть возможность использования ООП, - то по вашему язык становится автоматически функциональным? Идите тогда почитайте про LISP, это действительно функциональный язык.
...
Рейтинг: 0 / 0
ООП или функции
    #37720399
Фотография Hett
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторА ПХП язык ПРОЦЕДУРНЫЙ по своей сути, он инкапсулирует в себя самы разные процедуры (функции) в зависимости от параметра configure.

А это в догонку, на досуге почитаете http://php.net/manual/en/language.oop5.php
...
Рейтинг: 0 / 0
25 сообщений из 36, страница 1 из 2
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / ООП или функции
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]