Ich benutze seit einiger Zeit reguläres PHP. Mein formales Code-Training ist null. Was ich auch gelernt habe, habe ich hier auf der PHP-Dokumentationsseite, der MySQL-Dokumentation usw. gefunden.
Ich schreibe PHP von Grund auf. Ich benutze Funktionen für Aufgaben, die wieder auftreten, ich wende MVC an, um mehr wartbaren Code zu schreiben, und ich habe kürzlich eine nette kleine Bibliothek mit einigen meiner Funktionen geschrieben, damit ich in zukünftigen Projekten Zeit sparen kann. Lange Rede, kurzer Sinn, ohne irgendeine Art von Guru zu sein, habe ich eine anständige Beziehung mit PHP, und bis jetzt scheint es Dinge für mich zu erledigen.
Meine Fragen sind folgende: Warum sollte ich anfangen, objektorientierten Code in PHP zu schreiben? Wie wird es mein Programmleben besser machen und warum ist es besser als die traditionelle Art, Dinge zu tun?
OOP wurde entwickelt, um Programmiersprachen dem realen Leben ähnlicher zu machen.
Wir leben in einer Welt von Objekten. Du bist ein Objekt ( Person
), du lebst in einem Objekt House
, das House
Objekt (wie jedes andere House
Objekt) hat eine House::$address
und House::$number
, dein Haus enthält wahrscheinlich andere Objekte wie LivingRoom
und Kitchen
. Der Kitchen
kann Oven
und Stove
und Refrigerator
enthalten, die alle Erweiterungen des KitchenAppliance
-Objekts sind.
Die OOP-Programmierung nimmt diesen Ansatz und integriert ihn in die Programmierwelt.
Nun, es gibt mehrere Dinge:
class
und rufen es dann mit dem Schlüsselwort new ClassName()
auf. KitchenAppliance
in Oven
oder Stove
erweitert werden kann, können auch Ihre Objekte und Klassen. OOP-Programmierung bietet viele Vorteile. Es erfordert eine etwas andere Art zu denken, aber letztendlich lohnt es sich.
Sie haben viele umfassende Antworten erhalten, deshalb werde ich ein Argument verwenden: Designmuster. ( Ссылка ).
Sie können Töne von Lösungen für allgemeine Probleme finden, die Ihre Zeit sparen und die Qualität Ihres Codes verbessern können.
Einige Musterbeispiele:
Franky gesprochen, wenn Sie OOP besser verstehen wollen, müssen Sie:
Ohne dies werden Sie Funktionen verwenden, die in Klassen eingekapselt sind, wie im Namespace, nicht in OOP.
Sie können Ihren Code ohne OOP schreiben und versuchen, Designs / Patterns wie MVC zu implementieren, ohne nur zu verwenden ein einzelnes Objekt.
Ich möchte nicht antworten warum in OOP programmieren. Dies können Sie z.B. zu dieser Stack Overflow-Frage .
Ich denke, Sie möchten wissen, wann und warum Sie mit Ihrem Codierungsverhalten scheitern würden:
Es gibt viele weitere Probleme, die sicherlich gelöst werden können, aber jedes Mal, wenn Sie die Möglichkeit verlieren, dass andere Ihren Code verstehen und ihn in anderen Programmen wiederverwenden können ...
Ein Wort: Zusammenhalt .
Wenn Sie mit der Entwicklung von Software mit Objekten beginnen (besonders wenn diese Objekte Dependency Injection verwenden ), finden Sie, dass die allgemeine Funktionalität in ihre eigenen spezialisierten Klassen hineingezogen wird, die wiederverwendet werden. Dies macht die Wartung und Verbesserung der Software VIEL einfacher und führt zu qualitativ hochwertigerer Software.
Beispiel:
Viele Anwendungen verwenden Sessions zum Speichern aller möglichen Dinge. Wenn alle Sitzungsdaten von einer spezialisierten Sitzungsmanagerklasse verwaltet werden, wird der gesamte Code, der für die Sitzung zuständig ist, an einer Stelle gespeichert. Wenn Sie die Art ändern möchten, in der Ihre Anwendung Sitzungsdaten verwendet (vielleicht, um sie sicherer oder effizienter zu machen), müssen Sie den Code nur an einer Stelle ändern.
Ich habe vor drei Monaten den Sprung zu OOP PHP gemacht und es ist eines der besten Dinge, die ich gemacht habe.
Ich begann mit PHP Objektorientierte Lösungen und haben gerade Reale Lösungen für die Entwicklung von qualitativ hochwertigen PHP-Frameworks und Anwendungen . Beide Bücher haben mir sehr geholfen und ich empfehle sie sehr.
Die Lernkurve ist ziemlich hoch. Aber ich garantiere Ihnen, Sie werden froh sein, dass Sie sich an OOP gewandt haben.
Mit OO können Sie Anwendungen viel schneller und sauberer entwickeln. Sie könnten Ihre vorhandenen Klassen problemlos wiederverwenden, indem Sie sie erweitern (indem Sie Ihre Codebasis reduzieren).
Mit OO-Design müssen Sie nur mit kleinen Stücken von Codes zu jeder Zeit umgehen, nicht eine Reihe von Funktionen in einer Datei mit mehr als 3000 Zeilen Code. Sie sollten sich auch um die SOLID-Richtlinien .