Frage

Ich möchte PHP lernen und möchte mir eine Vorstellung von OOP und Procedural machen. Ich habe einige andere Blogs und Tutorials über OOP vs -Verfahren gelesen, aber ich kann den Ansatz immer noch nicht verstehen.

Oop vs procedural

  1. Was sollte ich lernen?
  2. Was ist der Unterschied im Code? Was sind die Auswirkungen?
  3. Wie kann ein PHP -Framework bei OOP APROACH helfen? (Ich möchte Codesigniter lernen)
  4. Benötigt prozedural ein Rahmen?

Ich möchte wirklich den Codeunterschied beider wissen, mein Verständnis von OOP ist, dass Sie eine Klasse erstellen und dass es Zugriff sein kann. (Ich weiß nicht, wenn das richtig ist).

Vielen Dank!

War es hilfreich?

Lösung

Hintergrund: Sie haben nach einer "einfachen Erklärung" gefragt, die vorschlägt:

  1. Sie möchten einen Überblick über No-Nonsense Ohne Jargon
  2. Sie wollen etwas, das Ihnen hilft von Anfang an lernen
  3. Sie haben das entdeckt Keine zwei Leute beantworten die Frage jemals auf die gleiche Weise, und es ist verwirrend. Das ist der Grund, warum Sie hier nach einer einfachen Erklärung fragen. Ja?

Kurze Antwort ohne Jargon:

  1. Viele einführende Erklärungen springen schnell in "OOP Real World" -Beispiele. Diese können dazu neigen, mehr als Hilfe zu verwirren.
  2. Sie können sich Quellcode einfach als "Teile" der Funktionalität vorstellen, die einfach in einzelnen Dateien gespeichert werden.
  3. Es gibt verschiedene Möglichkeiten, diese "Stücke" zu organisieren. Abhängig von Dingen wie Konventionen der Programmiersprache, dem Hintergrund und der Ausbildung der Entwickler (en) oder einfach nur alten persönlichen Vorlieben.
  4. OOP- und prozedurale Programmierung sind einfach zwei wichtige, allgemein anerkannte Methoden, um die "Codestücke" zu organisieren und zu ordnen.

Lange Antwort ohne Jargon:

Prozedural vs oop ist nur ein Aspekt eines grundlegenden Problems der Computerprogrammierung: So erleichtern Sie Ihren Code einfach zu verstehe und ein Stück Kuchen professionell pflegen. Sie können tatsächlich einen "prozeduralen" Code schreiben, der einige der Prinzipien von OOP folgt, sodass die beiden nicht unbedingt Gegensätze sind.

Ihr Verständnis wird wirklich wachsen, sobald Sie lernen Andere objektorientierte Programmiersprachen, Darunter ist PHP ein "neues Kind auf dem Block".

Hier ist eine kurze Übersicht von dem, was Sie beim Aufbau von Erfahrungen lernen werden:

  • Sie können einen PHP -Quellcode schreiben, der tut Nützliche Aufgaben
  • Sie können nützliche Aufgaben organisieren "Stücke" von Code
  • Sie können sich "Stücke" des Codes vorstellen unabhängig von den einzelnen Dateien, in denen sie gespeichert werden
  • Manchmal werden diese "Teile" von Code sich basierend auf Parametern unterschiedlich verhalten Du passt ein
  • Codebrocken, die Parameter akzeptieren, werden aufgerufen "Funktionen"
  • Funktionen können "geknackt" werden zusammen, und es gibt verschiedene Möglichkeiten, dies zu tun:
    • Zum Beispiel: Sie könnten nur eine große PHP
    • Zum Beispiel: Sie können mehrere PHP -Dateien mit Funktionen haben, die nach Themen miteinander zusammengefügt werden [z. B. Funktionen für die Ausführung grundlegender String -Manipulation, Funktionen für die Verarbeitung von Arrays, Funktionen für Dateieingabe/Ausgabe usw.
  • OOP ist eine besondere Möglichkeit, zusammen zu "zu knüpfen" in eine "Klasse"
  • Eine Klasse ist Nur ein weiteres Maß an "Chunking" Codieren Sie zusammen, damit Sie es als einheitliches Ganzes behandeln können
  • Eine Klasse kann als "Chunking" angesehen werden Methoden und Eigenschaften

    • Methoden sind einfach Funktionen, die auf eine sinnvolle Weise logisch miteinander verbunden sind. Die Wörter "Methode" und "Funktion" sind im Grunde genommen zwei verschiedene Begriffe für dasselbe.
    • Eigenschaften sind einfach Datenwerte, die mit der Klasse zusammenhängen. Dies sind Werte, die absichtlich nicht isoliert sind, um eine individuelle Funktion zu ermitteln, weil mehr als eine der Funktionen in der Klasse sollten Zugriff auf sie haben.
      • Zum Beispiel: Wenn Ihre Klasse eine Reihe von Methoden zur Astronomie hat, können Eigenschaften der Klasse die Werte für bestimmte berühmte Zahlen sein, über die alle Astronomie -Methoden wissen müssen (wie PI, die Lichtgeschwindigkeit, den Abstand zwischen bestimmten Planeten usw. ).
    • Das ist wo die meisten OOP -Erklärungen verwirrend werden Weil sie sich in die Abzweigung abzweigen "Beispiele für reale Welt"Das kann schnell off-topic werden. Oft ist "reale Welt" ein Euphemismus für die ontologischen Perspektiven eines bestimmten Individuums. Das ist tendenziell Nur nützlich, wenn Sie das Konzept bereits verstanden haben Gut genug, um es jemand anderem beizubringen.
    • Um OOP ohne Verwirrung zu verstehen, können Sie die Beispiele "realer Welt" vorerst überspringen und sich nur auf den Code konzentrieren. Eine Klasse ist Einfach ein Weg, um Funktionen zu speichern (AKA -Methoden) und Eigenschaften (auch bekannt als Daten) als PHP Code in einem oder mehreren verwandten "Stücken" wo sich jeder einzelne "Chunk" mit einem bestimmten Thema oder Funktionen befasst. Das ist alles, was Sie wissen müssen, um loszulegen.
  • Eine Klasse ist nützlich, da Sie Ihren Code unter organisieren können ein sehr hohes Niveau Auf eine Weise, die es Ihnen leicht macht, zu verstehen, zu verwenden und zu warten.

  • Wenn jemand viele Funktionen geschrieben und in viele Klassen organisiert und diese dazu gebracht hat, auf coole Weise zusammenzuarbeiten, verpacken sie das Ganze zusammen und nennen es es eine grundlegende Struktur".
  • Ein Rahmen ist Nur die nächsthöchste Ebene von "Chunking" (einschließlich Codierungsstil und Konventionen), auf die sich ein oder mehrere Personen einig sind, weil sie die Art und Weise mögen, wie der Code organisiert ist und es zu ihrem Arbeitsstil, ihren Vorlieben, Werten, Plänen für die Weltherrschaft usw. passt.

Siehe auch

Andere Tipps

OOP ist nichts anderes als ein Designmuster. Wenn Sie gerade erst anfangen, lernen Sie die Grundlagen, indem Sie sich auf den prozeduralen Ansatz konzentrieren. Machen Sie sich vor allem mit Grundprinzipien wie Schleifen, Bedingungen und anderen Verfahren vertraut.

Machen Sie beim Erstellen Ihres prozeduralen Code eine Gewohnheit, indem Sie verwandte Methoden in einer einzelnen Quelldatei hinzufügen. Lernen Sie, Ihre Prozeduren in logische Einheiten zu unterteilen, und dann beginnen Sie bereits, objektorientiert zu werden. Grundsätzlich ist ein Objekt nichts anderes als eine Sammlung von Methoden, die sich nur weil sie mit denselben Datenmengen arbeiten. (Nicht von Datenbanken hier sprechen, sondern Anwendungsdaten!)

OO wird hauptsächlich verwendet, um Ihren Code logischer zu gestalten, indem alles in einfachen Blöcken geteilt wird. Durch die Kombination der richtigen Blöcke erhalten Sie eine vollständige Anwendung. OO ist kein silberner Kugel oder einen goldenen Hammer, der alle Ihre Probleme lösen wird. Aber was es tut, ist, Ihren Code leichter zu verstehen.

Andererseits schaffen es einige Leute immer noch, Objekte vollständig durcheinander zu bringen, indem sie sie einfach in riesige Super-Objekte mit Hunderten von Methoden verwandeln. Solche Objekte unterscheiden sich nicht wesentlich von einem regelmäßigen prozeduralen Ansatz, einfach aufgrund der großen Menge an Methoden, die ohne wirkliche Logik kombiniert werden. Es ist ein Fehler, der leicht zu machen ist, wenn Leute zu schnell anfangen.

Sie sollten beides lernen. Objekte sind nur eine der vielen möglichen Abstraktionen, die existieren, und die Abstraktion ist das, worum es bei der Programmierung letztendlich geht. Beginnen Sie jedoch mit prozeduralen Dingen und fügen Sie später Objekte hinzu, da die Interna von PHP -Objekten ohnehin prozedural sind.

Wie für Frameworks; Erfahren Sie zunächst die Grundlagen der Sprache, schreiben Sie Wurf -Experimentalprogramme und dergleichen. Später können Sie sich mit Frameworks vertraut machen und berücksichtigen dich selbst ob Sie Finden Sie einige von ihnen in einem Kontext nützlich. Sie sind definitiv nicht obligatorisch.

Procedural PHP und OOP verwendet denselben PHP -Code. Dann ist nur der Unterschied, dass Sie sich mit prozedural auf eine Aufgabe konzentrieren und das ist es. In OOP organisieren Sie Ihren Code mit Mustern oder Stücken, die in vielen verschiedenen Bereichen des Codes wiederverwendet werden können.

Einfache Antwort ist, dass Sie PHP kennen und verstehen müssen. Sie können es unter php.net lernen. Sobald Sie es verstanden haben, können Sie Ihren Code in Chucks organisieren.

Procedural Code verwendet Funktionen, Variablen.

Sobald Sie etwas an den Dingen bekommen haben, können Sie die Funktionen und Variablen in Klassen organisieren. Wir nennen die Funktionen als Methoden und Variablen als Eigenschaften.

Viel Glück.

Um die großartigen Antworten oben hinzuzufügen. Sie sollten OOP als eine natürliche Entwicklung Ihres Codierungsstils sehen -wenn Sie anfangen, ein kleines Programm zu schreiben um sie besser in Klassen zu organisieren. Oop lass deine Struktur deine Codes einfach besser strukturieren -eine bessere Code -Wartung aufrechterhalten.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top