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

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

ООП против процедурного

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

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

Благодаря!

Предыстория: вы попросили «простое объяснение», которое предполагает:

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

Короткое сообщение No-Jargon:

  1. Многие вводные объяснения быстро переходят в примеры «ООП реального мира». Те могут склонить к путанице больше, чем помочь, поэтому не стесняйтесь игнорировать это на данный момент.
  2. Вы можете думать о исходном коде просто как «куски» функциональности, которые просто сохраняются в отдельных файлах.
  3. Существуют разные способы организации этих «кусков»; в зависимости от таких вещей, как соглашения о языке программирования, фон и обучение разработчика (ов) или просто старые личные предпочтения.
  4. ООП и процедурное программирование – это просто две основные, общепризнанные методологии, как организовать и упорядочить эти «куски» кода.

Long No-Jargon Ответ:

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

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

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

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

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

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

Смотрите также

  • ООП

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

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

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

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

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

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

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

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

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

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

Удачи.

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