PHP - Opjekt orientiertes Programmieren

Page 1

OOP mit PHP5 - Einführung 1. Hinweis Auf vielfältigen Wunsch hin habe ich den Bereich OOP jetzt direkt in die Theorie von PHP integriert und nicht wie bisher als eigenständigen Punkt geführt. Allerdings sollten sich die Anfänger unter euch erst dann auf diesen Bereich stürzen, wenn sie alle Grundlagen von PHP und MySQL beherrschen. Vorher ist das ziemlich sinnfrei. Wer sich wundert, dass hier das Ein oder Andere fehlt, dem sei gesagt, ja weiß ich. Kommt noch. 2. Ein Wort in eigener Sache Warum macht sich eigentlich jemand die Mühe und verfasst noch mal eine Einführung zum Thema "Objektorientierte Programmierung mit PHP 5"? Davon gibt es doch Massen im Internet. Nun, ursprünglich hatte ich das gar nicht vor. Als ich Mitte des letzten Jahres anfing, mich intensiv mit diesem Thema zu beschäftigen, musste ich feststellen, dass eigentlich fast alle Anleitungen zu diesem Thema für Nicht-Informatiker kaum verständlich sind. Ein paar Beispiele gefällig? "Das Ablegen einer Referenz auf ein anderes Objekt in einer Instanzvariablen eines Objektes nennt man Aggregation." "Leitet ein Objekt einen Methodenaufruf an ein aggregiertes Objekt weiter, so spricht man von Delegation." [Quelle: Sebastian Bergmann, Professionelle Softwarentwicklung mit PHP5]

"Klassenmember oder -methoden als statisch zu deklarieren macht diese zugänglich, ohne dass man die Klasse instantiieren muss. Auf ein als statisch deklariertes Member kann nicht mit einem instantiierten Klassenobjekt zugegriffen werden." [Quelle: Handbuch PHP, Kapitel Klassen und Objekte (PHP 5)] Alles klar? Begriffen? Kein Wunder! Selbst ich habe des Öfteren nur Bahnhof verstanden. Schuld daran ist nicht nur dieses fürchterliche Informatikerdeutsch, sondern auch die unterschiedliche Benamung von ein und denselben Dingen. Zur Entschuldigung von Sebastian Bergmann sei gesagt, der schreibt nicht nur so, der redet auch so. Habe ihn mal auf einem Multimediatreff in Köln kennen gelernt. Und über das "Deutsch" von Kreativen und Marketingexperten will ich ja erst gar nicht reden. So habe ich mir denn mal die Mühe gemacht, dieses krude Deutsch für euch zu übersetzen und in eine für Anfänger einigermaßen verständliche Form zu bringen. So gibt es den nun eine weitere Einführung in die Objektorientierte Programmierung mit PHP5. 3. Warum Objektorientierte Programmierung? Um diese Frage zu beantworten, muss ich erst mal auf die unterschiedlichen Programmierstile eingehen, die in PHP möglich sind. Das sind, einfach gesagt, deren drei. Bitte verwechselt das nicht mit dem so genannten Programmierparadigma. Auch weise ich wie so oft darauf hin, dass die folgenden Begriffe meinem Hirn entsprungen sind. Unstrukturierte Ablaufsteuerung Dies ist der klassische Anfängerstil. Nicht böse sein, auch bei mir lief es zu Beginn so. Man fängt oben an und "programmiert" sich dann nach unten durch. Die gesamte Steuerung erfolgt ausschließlich über Bedingungen. Die Nachteile sind offensichtlich. Dieser Code wird für eine ganz bestimmte Aufgabe entwickelt, und nur dafür! Man kann ihn nicht für andere Projekte einsetzen. Wenn innerhalb der Programmierung etwas mehrmals erledigt werden soll, so muss der entsprechende Code dupliziert und angepasst werden. Änderungen dieser Abschnitte haben Auswirkung auf alle(!) relevanten Codeteile. Strukturierte und funktionsbasierte Steuerung Dieser Stil ist bereits ein gewaltiger Fortschritt und erfahrungsgemäß die nächste Stufe auf der Evolutionsleiter der Programmierung. Hier werden alle wichtigen Aufgaben in Funktionen ausgelagert, die man dann über entsprechende Parameter ansteuert. Der Vorteil ist offensichtlich. Ändern sich grundsätzliche Dinge, so muss man nur noch die Funktionen umschreiben und alles läuft. Die Nachteile sind trotzdem noch gravierend. Auch Funktionen


Turn static files into dynamic content formats.

Create a flipbook
Issuu converts static files into: digital portfolios, online yearbooks, online catalogs, digital photo albums and more. Sign up and create your flipbook.