Простое объяснение PHP OOP и процедурный?

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

ООП и процедурный

  • Который я должен выучить?
  • Какая разница в коде? каковы эффекты?
  • Как фреймворк PHP может помочь в ООП? (Я хотел бы узнать CodeIgniter)
  • Требуется ли процессуальная необходимость в Framework?

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

Спасибо!

Ответ 1

Фон:. Вы попросили "простое объяснение", которое предлагает:

  • Вам нужен обзор без излишеств без жаргона
  • Вам нужно что-то, что поможет вам узнать с самого начала
  • Вы обнаружили, что ни один человек не отвечает на вопрос таким же образом, и это запутывает. Вот почему вы здесь просите простое объяснение. Да?

Короткий ответ No-Jargon:

  • Многие вводные объяснения быстро переходят в примеры "реального мира ООП". Это может привести к путанице больше, чем к помощи, поэтому не стесняйтесь игнорировать это на данный момент.
  • Вы можете думать о исходном коде просто как "куски" функциональности, которые просто сохраняются в отдельных файлах.
  • Существуют разные способы организации этих "кусков"; в зависимости от таких вещей, как соглашения о языке программирования, фон и обучение разработчика (ов) или просто старые личные предпочтения.
  • ООП и процедурное программирование - это просто две основные общепризнанные методологии: как организовать и упорядочить эти "куски" кода.

Ответ на долгой жаргон:

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

Ваше понимание действительно будет расти, если вы узнаете другие объектно-ориентированные языки программирования, среди которых PHP - "новый ребенок на блоке",.

Вот краткий обзор того, что вы узнаете по мере создания опыта:

  • Вы можете написать исходный код PHP, который выполняет полезные задачи
  • Вы можете организовать полезные задачи в "куски" кода
  • Вы можете думать о "кусках" кода независимо от отдельных файлов, в которых они сохраняются.
  • Иногда эти "куски" кода будут вести себя по-разному на основе параметров, которые вы передаете в
  • Куски кода, которые принимают параметры, называются "Функции"
  • Функции могут быть "разделены" вместе, и есть разные способы сделать это:
    • Например: у вас может быть только один большой PHP файл со всеми функциями, которые вы когда-либо писали за всю вашу жизнь, перечисленные в алфавитном порядке по имени функции
    • Например: у вас может быть несколько файлов PHP с функциями, разделяемыми по предмету [например, функции для выполнения основных операций с строкой, функции для обработки массивов, функции ввода/вывода файлов, и т.д.]
  • ООП - это особый способ "группирования" функций вместе в "класс"
  • Класс представляет собой еще один уровень кода "chunking" , чтобы вы могли рассматривать его как единое целое.
  • Класс можно рассматривать как "chunking" из методов и свойств

    • методы - это просто функции, которые логически связаны друг с другом каким-либо значимым образом. Слова "метод" и "функция" в основном представляют собой два разных термина для одного и того же.
    • свойства - это просто значения данных, относящиеся к классу. Это значения, которые намеренно не изолированы для какой-либо отдельной функции, потому что более чем функций класса должно иметь к ним доступ.
      • Например: если у вашего класса есть множество методов для астрономии, свойства класса могут быть значениями для некоторых известных чисел, о которых должны знать все астрономические методы (например, Pi, скорость света, расстояние между определенными планетами и т.д.).
    • Это , где большинство объяснений ООП запутываются, потому что они отходят на " примеры реального мира" который может быстро выйти из темы. Часто "реальный мир" является эвфемизмом для онтологических перспектив конкретного человека. Это обычно полезно только после того, как вы уже поняли концепцию достаточно хорошо, чтобы научить кого-то другому.
    • Чтобы понять ООП без путаницы, вы можете пропустить примеры "реального мира" на данный момент и просто сосредоточиться на коде. Класс просто способ хранения функций (как методы) и свойств (aka data) как PHP-кода в одном или нескольких связанных "кусках" где каждый отдельный "кусок" имеет дело с определенной темой или функциональностью. Это все, что вам нужно знать, чтобы начать.
  • Класс полезен, потому что он позволяет вам организовать свой код на очень высоком уровне таким образом, чтобы вам было легче понять, использовать и поддерживать.

  • Когда кто-то написал много функций и организовал их во многих классах, и заставил их работать вместе каким-то крутым способом, они объединяют все это вместе и называют его "Framework" .
  • Рамка - это только самый высокий уровень "chunking" (включая стиль и условные обозначения), которые согласны с одним или несколькими людьми, потому что им нравится, как организовывается код, и подходит им стиль работы, предпочтения, ценности, планы мирового господства и т.д.

См. также

Ответ 2

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

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

OO в основном используется, чтобы сделать ваш код более логичным, разделив все на простые блоки. Объединив правильные блоки, вы получите полное приложение. OO - это не серебряная пуля или золотой молот, который решит все ваши проблемы. Но то, что он делает, делает ваш код более понятным.

Затем снова некоторые люди все еще могут создать полный беспорядок из объектов, просто превратив их в огромные супер-объекты с помощью сотен методов. Такие объекты не сильно отличаются от обычного процедурного подхода, просто из-за огромного количества методов, объединенных вместе без какой-либо реальной логики. Это ошибка, которую легко сделать, когда люди начинают делать ООП слишком быстро.

Ответ 3

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

Что касается фреймворков; сначала изучите основы языка, напишите экспериментальные программы и т.д. Позже вы можете ознакомиться с рамками и подумать о том, найдёте ли вы некоторые из них полезными в некотором контексте. Они определенно не являются обязательными.

Ответ 4

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

Простой ответ: вам нужно знать и понимать php. Вы можете узнать это на php.net. Как только вы это поймете, вы можете начать организовывать свой код в патроны.

Процедурный код использует функции, переменные.

После того, как вы сможете повесить вещи, вы можете начать организовывать функции и переменные в классы. Мы начинаем вызывать функции как методы и переменные как свойства.

Удачи.

Ответ 5

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