Вопрос

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

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

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

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

Спасибо!

Это было полезно?

Решение

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

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

Короткий без джаргона ответ:

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

Длинный ответ без джаргона:

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

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

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

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

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

  • Когда кто -то написал много функций, организовал их во многих классах, и заставил тех, кто работал вместе каким -то крутым, они все вместе упаковывают и называют это «структура».
  • Структура есть Только следующий по величине уровня "Chunking" (включая стиль кодирования и соглашения), с которыми согласуется один или несколько человек, потому что им нравится, как организован код, и он соответствует их рабочим стилю, предпочтениям, ценностям, планам мирового господства и т. Д.

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

Другие советы

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

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

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

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

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

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

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

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

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

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

Удачи.

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top