чета ты поплыл по своим комплексам. я на шарпе не пишу такой код, какой пишу в пхп. у меня всё в порядке в голове. я в пхп пишу как на пхп. на не пхп я пишу как надо там. и не страдаю. А ты пытаешься подогнать всё под одни "истинные" рамки. по сути это фанатизм и узость мышления. у меня четко разделяются скриптовые языки и компилируемые. прости. для меня в пхп и js границы между кодом и данными нет по-сути. Скриптовый язык это поток перед мясорубкой. Суй что хочешь. я php-гей.
не комплексы, а метафоричное описание. И я не пытаюсь подогнать что-то под что-то. И это не срач на тему "си vs php". Я хз чего тебя понесло в эту степь. Тут соль вот в чем - механизмы ООП пришли в пхп, чтобы внести порядок там, где он нужен, и чтобы усилить контроль над приложениями там, где обычными инклудами можно наделать макароны. А ты говоришь, что "что хочу то и ворочу". Твой рандом и хаотичные конструкции никоим образом не относятся к теме применения объектов. Это ок, никто не запрещает тебе микроскопом забивать гвозди, но просто не говори прилюдно, что это нормально. И тем более при новичках. Они и так четкого понимания происходящего не имеют, а тут у них совсем голова повернется не в ту сторону.
о, да Добавлено спустя 1 минуту 2 секунды: если ты любое упоминание и сравнение другого языка воспринимаешь как срач - это проблемы твоего мировосприятия. не надо мне их приписывать. я не испытываю эмоции к языкам (кроме js).
То есть если я использую объекты так, как положено использовать объекты, то я закостенелый узколобый консерватор, загоняющий пхп в рамки? Ок, пойду, возьму микроскоп, позабиваю гвоздей, расширю сознание. Добавлено спустя 59 секунд: ды я вообще не понимаю, при чем тут другие языки всплыли Добавлено спустя 1 минуту 9 секунд: Просто блин, юзаешь объекты, юзай их как положено. Потому что в противном случае ты просто пытаешься юзать объекты там, где они нафиг не нужны и можно обойтись без них.
о боже мой. ООП это способ. не порядок. не требование. не метод. Это дело вкуса. Один из способов организации кода и данных. Не более того. Походу у тебя сдвиг на ООП почве. если у вас нет контроля над приложением, то ООП ни добавит, ни убавит как будто что-то поменялось D эм. ну может и нет. может и да. 99% CMS работают так. ох уж эти аналогии ни к селу ни к городу. во-первых, я не говорил что это нормально. Я сказал, что передача экземпляра страхует от неожиданного поведения. усё. И сказал, что оно МОЖЕТ БЫТЬ. я не говорил так делать. Хотя есть случаи, где я вызываю методы по имени в переменной, а данные беру по имени в другой переменной, я не считаю, что это востребовано кроме редких ситуаций. Еще раз, для тех кто читать не умеет, и комплексами исходит на срач. Я не говорю, что так надо делать. Я сказал, что два экземпляра ОДНОГО класса могут иметь в себе разный код. То что вы считаете инклуд, ивал, и вызовы по имени - уже выходом за границу ваших скудных понятий - это ваше личное дело. Вопрос был, зачем экземпляры, если всё весьма однообразно. Я сказал, что это гарантирует от таких неожиданностей. я говорю что пхп это "что хочу то и ворочу". пхп дает безграничные возможности по коверканью кода перед его исполнением. приехали. вы гоните хуету на тему, которую считаете важной. я на эту тему разговор не заводил, и не высказывался. =) капец. и вы говорите, что это у меня что-то к теме не относится, при том, что вы до сих пор не поняли, что вопрос не про применение объектов, а про применение экземпляров объектов. детский сад. чем шире понимание - тем лучше. если они поймут, что в скриптовых языках границы зыбки, а вернее их нет вообще, то будет лучше, чем так, как у вас мозги устроены. без обид. Добавлено спустя 1 минуту 22 секунды: о боже... тяжелый случай. Я НИГДЕ НЕ ПИСАЛ КАК НАДО ИСПОЛЬЗОВАТЬ блин. =) очки протри. я пишу, что может быть. Продолжая тему аналогий, я пишу, что в пользовательском вводе МОЖЕТ БЫТЬ НЕ ТО ЧТО ЖДЕШЬ. А не предлагаю так делать. Добавлено спустя 16 секунд: удачи. Добавлено спустя 26 секунд: я вижу. это-то и плохо. Добавлено спустя 20 секунд: читаешь форум, читай что пишут. а не фантазируй. Добавлено спустя 54 секунды: с этого топик начался. молодец. третий круг. за сим - покедова.
Ты это говоришь человеку, который везде говорит, что ООП в пхп в 95% случаев не нужен и советует по максимуму стараться обходиться без него. По части всего остального. Игорь, ну чесслово... Успокаивайся. Никто не хотел никого вывести из себя или обидеть. Не воспринимай аргументы оппонентов как личные оскорбления. "Не прав" != "тупица". Встаешь в позицию, требуешь доводы, получая их, говоришь "ну и что" и "а если", требуя новые доводы, но, получая и их, заводишься на агру, начинаешь зачем-то сам себя оскорблять... Потом начинаешь переходить на личности... Почему нельзя просто спокойно вести беседу?
Ты перечитай топик. Ты был против позиции, которую никто не высказывал. Ты приписал мне какие-то свои фантазии. Именно на это я и злился. И я вижу, что ты до сих пор на своей волне.
Парадигмы программирования. Парадигма программирования — это система идей и понятий, определяющих стиль написания компьютерных программ, а также образ мышления программиста. Т.е. парадигма программирования определяет то, какими понятиями вы оперируете и каких правил придерживаетесь при написании кода. Выделяют три основные парадигмы программирования: процедурное программирование объектно ориентированное программирование обобщенное программирование Время возникновения понятий примерно соответствует списку, Т.е. от процедурного к обобщенному программированию. Есть еще целый ряд парадигм, однако они выходят за рамки данной статьи. Важно не забывать, что парадигма программирования не определяется используемым языком. Язык и его синтаксические возможности могут лучше поддерживать одну парадигму и хуже – другую, однако, с большой вероятностью мы сможем симулировать использование парадигмы программирования на языке, для этого не предназначенном. В качестве примера можно рассмотреть использование C++, как языка процедурного программирования и наоборот – С – как языка объектно-ориентированного программирования. Скорее всего язык поддержит парадигму не полностью, но все же частично поддержит. Разберем основные парадигмы программирования. Процедурное программирование Процедурное программирование является отражением архитектуры традиционных ЭВМ, предложенной Фон Нейманом в сороковых годах. Теоретической основой этой парадигмы является конечный автомат Тьюринга. Машина тьюринга – это аппарат, способный за конечное время выполнять алгоритмы пошагово с помощью элементарных действий. Суть процедурного программирования сводится к последовательному выполнению операторов с целью преобразования состояния оперативной памяти. Т.е. программа в рамках своего жизненного цикла последовательно обновляет память результатами своей работы. Языки, поддерживающие процедурную парадигму программирования предоставляют возможность программисту определять каждый шаг выполнения программы. Программист определяет языковые конструкции для выполнения последовательности алгоритмических шагов. Объектно-ориентированное программирование. Объектно-ориентированное программирование оперирует объектами и классами. Эта парадигма развилась из процедурного программирования, в котором алгоритмы и субъекты применения алгоритмов (память, регистры и т.п.) не были связаны. В центре работы ООП программы находится понятие объекта. Объект, это сущьность, которой можно посылать сообщения. Объект обрабатывает эти сообщения с помощью собственных данных и данных, переданных с параматрами сообщения. Данные объекта отделены от остальной программы. Как вы, наверное, догадались – отсылка сообщения объекту эквивалентна вызову его метода. Обобщенное программирование. Обобщенное программирование – относительно ”свежая” концепция, появившаяся в 70х годах. Основная суть данной парадигмы сводится к написанию типонезависимых алгоритмов. Например, для того, чтобы сортировать по размеру корзину яблок и стакан грецких орехов, необходим один и тот же алгоритм, только субъекты этого алгоритма будут разные – в одном случае яблоки, а в другом – орехи. В языке С++ обобщенное программирование поддерживается с помощью шаблонов (templates). Обычно эта парадигма находит свое применение при работе с типами. В С++ на этой концепции работает STL – стандартная библиотека шаблонов с основными контейнерами.