простое объяснение PHP ООП против процедурного?
Я хотел бы изучить PHP и хочу получить представление о ООП и процедурных. Я читал некоторые другие блоги и учебники о ООП против процедурных, но я все еще не могу понять подход.
ООП против процедурного
- что я должен узнать?
- в чем разница в коде? каковы последствия?
- как фреймворк PHP может помочь в ООП aproach? (Я хотел бы узнать CodeIgniter)
- нужна ли процедура a Рамки?
Я действительно хочу знать разницу в коде обоих, мое понимание ООП заключается в том, что вы создаете класс, подобный, и это может быть доступ. (Я не знаю, если это правильно).
спасибо!
5 ответов:
Справочная информация: вы попросили "простое объяснение", которое предполагает:
- вы хотите без глупостей обзор без жаргонизмов
- вы хотите что-то, что поможет вам учите с самого начала
- вы обнаружили, что ни один человек никогда не ответит на вопрос одинаково, и это сбивает с толку. Вот почему вы здесь просите простого объяснения. Да?
Короткий Ответ Без Жаргона:
- многие вводные объяснения быстро переходят в примеры" ООП реального мира". Те, как правило, путают больше, чем помогают, так что не стесняйтесь игнорировать это сейчас.
- вы можете думать об исходном коде просто как о" кусках " функциональности, которые просто сохраняются в отдельных файлах.
- существуют различные способы организации этих "кусков"; в зависимости от таких вещей, как соглашения язык программирования, фон и обучение разработчика(ов), или просто старые личные предпочтения.
- ООП и процедурное программирование-это просто две основные, общепризнанные методологии, как организовать и упорядочить эти "куски" кода.
Длинный Нет-Жаргон Ответ:
процедурное против объектно-ориентированного программирования является лишь одним из аспектов фундаментальной проблемы программирования: как сделать ваш код легко понять и кусок пирога, чтобы профессионально сохранить. На самом деле вы можете написать "процедурный" код, который следует некоторым принципам ООП, поэтому они не обязательно противоположны.
ваше понимание будет действительно расти, как только вы узнаете другие объектно-ориентированные языки программирования, среди которых PHP-это "новый ребенок на блоке".
краткий обзор что вы узнаете как вы строите опыт:
- вы можно написать PHP исходный код, который делает полезные задачи
- вы можете организовать полезные задачи в "чанки" код
- вы можете думать о "куски" кода независимо от отдельных файлов, где они сохраняются
- иногда эти "куски" кода вести себя по-разному на основе параметров передать в
- куски кода, которые принимают параметры называются "функции"
- функции могут быть "chunked" вместе, и есть разные способы сделать это:
- например: у вас может быть только один большой PHP-файл со всеми функциями, которые вы когда-либо писали за всю свою жизнь, перечисленными в алфавитном порядке по имени функции
- например: вы можете иметь несколько PHP-файлов с функциями, которые разделены вместе по предмету [например, функции для выполнения основных строковых манипуляций, функций для обработки массивов, функций для ввода/вывода файлов и т. д.]
- ООП-это особый способ "разбиения" функций вместе В "класса"
- класс просто еще один уровень "chunking" код, так что вы можете рассматривать его как единую целую
класс можно рассматривать как "куски"методы и свойства
- методы - это просто функции, которые логически связаны друг с другом каким-то значимым образом. Слова "метод" и "функция" - это в основном два разных термина для одного и того же.
- свойства - это просто значения данных, связанные с классом. Это значения, которые намеренно не изолированы для какой-либо отдельной функции, потому что более одного функций в классе должен иметь к ним доступ.
- : Если у вашего класса есть куча методов для астрономии, свойства класса могут быть значениями для определенных известных чисел, о которых должны знать все методы астрономии (например, Pi, скорость света, расстояние между конкретными планетами и т. д.).
- Это где большинство объяснений ООП запутываются потому что они ответвляются в "реальный мир примеры " который может быстро уйти от темы. Часто "реальный мир" является эвфемизмом для онтологических перспектив конкретного человека. Что стремится быть полезно только тогда, когда вы уже понимаете концепцию достаточно хорошо, чтобы научить этому кого-то другого.
- чтобы понять ООП без путаницы, вы можете пропустить примеры "реального мира" на данный момент и просто сосредоточиться на коде. Класс - это просто способ хранения функций (методов ака) и свойства (ака данные) как PHP код в одном или нескольких связанных "кусках" где каждый отдельный "кусок" имеет дело с определенной темой или частью функциональности. Это все, что вам нужно знать, чтобы начать работу.
класс полезен, потому что он позволяет организовать ваш код в очень высокий уровень таким образом, что делает его легким для вас, чтобы понять, использовать и поддерживать.
- когда кто-то написал много функции, и организовал их в много классов, и получил те, чтобы работать вместе в какой-то крутой способ, они упаковывают все это вместе и называют его "рамки".
- база просто следующий-самый высокий уровень "chunking" (включая стиль кодирования и соглашения), которые один или несколько человек согласны, потому что им нравится способ организации кода, и он соответствует их стилю работы, предпочтениям, ценностям, планам мирового господства, так далее.
см. также
ООП-это не более чем шаблон. Если вы только начинаете, то изучите основы, сосредоточившись на процедурном подходе. Самое главное, ознакомьтесь с основными принципами, такими как циклы, условия и вызов других процедур.
пока вы создаете свой процедурный код, сделайте привычку, добавив связанные методы внутри одного исходного файла. Научитесь разделять свои процедуры на логические единицы, и тогда вы уже начинаете становиться объектно-ориентированными. В основном, объект-это не более чем набор методов, которые связаны друг с другом просто потому, что они работают с одним и тем же набором данных. (Не говоря уже о базах данных здесь, но данные приложения!)
OO в основном используется для того, чтобы сделать ваш код более логичным, разделив все на простые блоки. Объединив правильные блоки, вы получите полное приложение. ОО не серебряная пуля и золотой молоток, который решит все ваши проблемы. Но то, что он делает, делает ваш код проще понимать.
опять же, некоторым людям все еще удается сделать полный беспорядок из объектов, просто превратив их в огромные супер-объекты с сотнями методов. Такие объекты не сильно отличаются от обычного процедурного подхода, просто из-за огромного количества методов объединяются вместе без какой-либо реальной логики. Это ошибка, которую легко сделать, когда люди начинают делать ООП слишком быстро.
вы должны узнать как. Объекты-это всего лишь одна из многих возможных абстракций в существовании, а абстракция-это то, что в конечном счете является программированием. Тем не менее, начните с процедурных вещей, а затем добавьте объекты позже, потому что внутренние объекты PHP являются процедурными в любом случае.
Что касается фреймворков; сначала изучите основы языка, напишите одноразовые экспериментальные программы и тому подобное. Позже вы можете ознакомиться с фреймворками и рассмотреть сами ли вы найти некоторые из них полезны в определенном контексте. Они определенно не являются обязательными.
добавить на большие ответы. Вы должны рассматривать ООП как естественную прогрессию вашего стиля кодирования-когда вы начинаете писать небольшую программу, вам может просто понадобиться собрать пару строк php-кода, а затем сгруппировать их в функции, и чем больше функций вы пишете, вы можете почувствовать необходимость лучше организовать их в классы. ООП просто пусть ваша структура ваши коды лучше-позволяя лучшее обслуживание кода.
процедурный php и ООП используют один и тот же php-код. Тогда разница только в том, что с процедурным, вы фокусируетесь на одной задаче, и это все. В ООП вы организуете свой код с помощью шаблонов или фрагментов, которые могут быть повторно использованы во многих различных областях кода.
простой ответ заключается в том, что вам нужно знать и понимать php. Вы можете узнать это по адресу php.net как только вы поймете это, вы можете начать организовывать свой код в патроны.
процедурный код использует функции, переменная.
Как только вы получите повесить вещи, вы можете начать организовывать функции и переменные в классы. Мы начинаем вызывать функции как методы и переменные как свойства.
удачи.
Comments