Ich möchte PHP lernen und möchte eine Idee über OOP und Prozedur bekommen. Ich habe einige andere Blogs und Tutorials über OOP vs Procedural gelesen, kann den Ansatz aber immer noch nicht verstehen.
OOP vs Procedural
- Was soll ich lernen?
- Was ist der Unterschied im Code? Was sind die Auswirkungen?
- Wie kann ein PHP-Framework im OOP-Ansatz helfen? (Ich möchte CodeIgniter lernen)
- Benötigt das Verfahren einen Rahmen?
Ich möchte wirklich den Codeunterschied der beiden kennen. Mein Verständnis von OOP ist, dass Sie eine Klasse wie erstellen und darauf zugreifen können. (Ich weiß nicht, ob das richtig ist).
Vielen Dank!
php
oop
procedural-programming
procedural
Pennf0lio
quelle
quelle
Antworten:
Hintergrund: Sie haben um eine "einfache Erklärung" gebeten, die Folgendes vorschlägt:
Kurze No-Jargon-Antwort:
Lange No-Jargon-Antwort:
Procedural vs OOP ist nur ein Aspekt eines grundlegenden Themas der Computerprogrammierung: Wie Sie Ihren Code leicht verständlich machen und professionell pflegen können . Sie können tatsächlich "prozeduralen" Code schreiben, der einigen der Prinzipien von OOP folgt, sodass die beiden nicht unbedingt gegensätzlich sind.
Ihr Verständnis wird wirklich wachsen, wenn Sie andere objektorientierte Programmiersprachen lernen , unter denen PHP ein "neues Kind auf dem Block" ist.
Hier ist ein kurzer Überblick darüber, was Sie beim Aufbau von Erfahrungen lernen werden:
Eine Klasse kann als "Chunking" von Methoden und Eigenschaften betrachtet werden
Eine Klasse ist nützlich, weil Sie damit Ihren Code auf einer sehr hohen Ebene so organisieren können, dass Sie ihn leicht verstehen, verwenden und warten können.
Siehe auch
quelle
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 dem Aufrufen anderer Prozeduren vertraut.
Machen Sie es sich beim Erstellen Ihres Prozedurcodes zur Gewohnheit, verwandte Methoden in eine einzelne Quelldatei einzufügen. Lernen Sie, Ihre Prozeduren in logische Einheiten zu unterteilen, und schon beginnen Sie, objektorientiert zu werden. Grundsätzlich ist ein Objekt nichts anderes als eine Sammlung von Methoden, die miteinander in Beziehung stehen, nur weil sie mit demselben Datensatz arbeiten. (Ich spreche hier nicht von Datenbanken, sondern von Anwendungsdaten!)
OO wird hauptsächlich verwendet, um Ihren Code logischer zu gestalten, indem Sie alles in einfache Blöcke unterteilen. Durch die Kombination der richtigen Blöcke erhalten Sie eine vollständige Anwendung. OO ist keine Silberkugel oder ein goldener Hammer, der all Ihre Probleme löst. Aber es macht es einfacher, Ihren Code zu verstehen.
Andererseits schaffen es einige Leute immer noch, Objekte komplett durcheinander zu bringen, indem sie sie einfach mit Hunderten von Methoden in riesige Superobjekte verwandeln. Solche Objekte unterscheiden sich kaum von einem regulären prozeduralen Ansatz, einfach weil eine Vielzahl von Methoden ohne wirkliche Logik miteinander kombiniert werden. Es ist ein Fehler, der leicht zu machen ist, wenn Leute zu schnell anfangen, OOP zu machen.
quelle
Sie sollten beides lernen. Objekte sind nur eine der vielen möglichen Abstraktionen, und 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; Lerne zuerst die Grundlagen der Sprache, schreibe wegwerfbare experimentelle Programme und so weiter. Später können Sie sich mit Frameworks vertraut machen und überlegen Sie sich , ob Sie in einem bestimmten Kontext einige von ihnen nützlich finden. Sie sind definitiv nicht obligatorisch.
quelle
Um die großartigen Antworten oben hinzuzufügen. Sie sollten OOP als eine natürliche Weiterentwicklung Ihres Codierungsstils betrachten. Wenn Sie mit dem Schreiben eines kleinen Programms beginnen, müssen Sie möglicherweise nur ein paar Zeilen PHP-Code zusammenstellen und diese dann in Funktionen gruppieren. Je mehr Funktionen Sie schreiben, desto mehr müssen Sie möglicherweise benötigen um sie besser in Klassen zu organisieren. OOP lassen Sie einfach Ihre Codes besser strukturieren - was eine bessere Codepflege ermöglicht.
quelle
Prozedurale PHP und OOP verwenden den gleichen PHP-Code. Der einzige Unterschied besteht darin, dass Sie sich bei der Prozedur auf eine Aufgabe konzentrieren und das war's. In oop organisieren Sie Ihren Code mithilfe von Mustern oder Blö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 auf php.net lernen. Sobald Sie es verstanden haben, können Sie beginnen, Ihren Code in Chucks zu organisieren.
Der Prozedurcode verwendet Funktionen und Variablen.
Sobald Sie einen Überblick haben, können Sie die Funktionen und Variablen in Klassen organisieren. Wir rufen die Funktionen als Methoden und Variablen als Eigenschaften auf.
Viel Glück.
quelle