Antworten auf deine Fragen:
Neues Thema erstellen

PHP Objektorientierung

Mereel

Aktives Mitglied

Ich habe vor einiger Zeit begonnen, mich mit OOP in PHP zu beschäftigen, da ich eine Web-Anwendung neu programmieren möchte, die ich vor einigen Jahren erstellt hatte.

Ich habe dazu einige Tutorials gelesen und mit Klassen, Objekten, magischen Methoden usw. kann ich inzwischen etwas anfangen. Jetzt stehe ich jedoch vor dem Problem, dass ich nicht weiß, wie ich eine ganze Anwendung nach den Regeln der Kunst objektorientiert umsetze.

Tante G konnte mir irgendwie auch nicht weiter helfen, da jedes Tut zu OOP, das ich gefunden habe, wieder nur die Basics durchkaut.

Aktuell stehe ich zum Beispiel vor der Frage, wie ich Klassen in anderen Objekten "verfügbar" mache. "extends" ist ja hier nicht das Mittel der Wahl, soviel habe ich schon festgestellt. Ich habe mir jetzt überlegt, in der __construct-Methode ein neues Objekt von jeder Klasse erstellen, die ich benötige oder die Objekte vorher zu erstellen und der __construct- Methode als Parameter zu übergeben. Beides führt allerdings zu ein paar Problemen und erscheint mir eher unsauber gelöst...

Ich hab auch mal einen Blick auf den Code von Joomla geworfen, in der Hoffnung, dort mehr über eine ordentliche Umsetzung zu erfahren, allerdings ist mir der Code doch etwas zu komplex und ich hab Probleme, alles zu durchblicken. Allerdings bin ich über die sog. JFactory gestolpert, die anscheinend irgendetwas mit meinem Problem zu tun hat :p

Vielleicht weiß ja irgendjemand von euch ein Tutorial, das sich mit dieser Thematik befasst oder hat einen anderen Hinweis für mich (auch gerne, wie das in Joomla genau funktioniert, wenn sich da jemand auskennt).

Viele Grüße,

Mereel
 

vincitore

Aktives Mitglied

AW: PHP Objektorientierung

Hi,

also so ganz verstanden habe ich deine Frage noch nicht. Ich bin gerade selbst dabei meine Seite komplett objektorientiert aufzubauen und weiß wie wenig gute Tutorials es gibt.

Also an sich kannst du doch von extern auf die öffentlichen Funktionen der anderen Klassen zugreifen, z.B. mit ( $klassenname -> funktionsname($query); ).

Hier mal eine Seite, die auch ein paar Anfangsbeispeile erklärt:

http://www.peterkropff.de/site/tutorials/php_oop.htm
 
Zuletzt bearbeitet:

Duddle

Posting-Frequenz: 14µHz

AW: PHP Objektorientierung

Kannst du bitte ein Anwendungsbeispiel nennen, in dem du
Klassen in anderen Objekten "verfügbar"
haben musst? Oder meinst du Instanzen einer Klasse?

Tante G konnte mir irgendwie auch nicht weiter helfen, da jedes Tut zu OOP, das ich gefunden habe, wieder nur die Basics durchkaut.

Literatur. Ob du nun zum E-Book greifst oder zum 500-Seiten fetten Nachschlagewerk, Fachbücher gehen in die Tiefe. Wahrscheinlich würde dir ein allgemeines Werk zum objektorientierten Design mehr helfen, aber es gibt sicher auch welche spezifisch für PHP.
Vorschläge kann ich keine machen, aber Amazon hat ja ein paar Sortier-Funktionen.


Duddle
 

Mereel

Aktives Mitglied

AW: PHP Objektorientierung

Also an sich kannst du doch von extern auf die öffentlichen Funktionen der anderen Klassen zugreifen, z.B. mit ( $klassenname -> funktionsname($query); ).
Aber wenn ich die Methode in einer anderen Klasse benötige, muss ich $klassenname ja erst mal in dieser verfügbar machen. Und da stehe ich eben vor der Frage, wie ich das am besten anstelle.
Danke für den Link, ist schon mal recht hilfreich.

Kannst du bitte ein Anwendungsbeispiel nennen, in dem du
Klassen in anderen Objekten "verfügbar"
haben musst? Oder meinst du Instanzen einer Klasse?
Ja, ich meinte Instanzen von Klassen. Da habe ich mich undeutlich ausgedrückt

Was ich gesucht hätte, wäre zum Beispiel ein Tut, wo eine Beispielseite Schritt für Schritt aufgezogen wird. Aber dann gehe ich die Sache vielleicht doch von einer anderen Seite an und leg mir ein Buch zum Thema zu...
 

Duddle

Posting-Frequenz: 14µHz

AW: PHP Objektorientierung

Eine "Beispielseite" kann so variabel sein wie ein Mittagessen. Natürlich sind die meisten Handgriffe irgendwie gleich, aber offensichtlich sind die Schritte zu einem Kartoffelauflauf andere als zu einem 5-Gänge-Menü.

Ein Minibeispiel habe ich z.B. gefunden, aber das ist auch kein großer Wurf. Wirklich sinnvoll wird OOP mit PHP meiner Meinung nach erst bei komplexen Projekten, die modular sind. Dafür kannst du aber kein Schritt-für-Schritt Tutorial erstellen.
Der bessere Ansatz ist, dem Lernenden die höherstufigen Prinzipien zu erklären (was sind Klassen, was ist Vererbung, etc.), mit denen dann beliebige Projekte umgesetzt werden können. Deshalb findest du in der Regel auch nur solche Tutorials.

Deine konkrete Frage zur Objektsichtbarkeit in anderen Klassen hängt vom Anwendungsfall ab. Es gibt Klassen, die sich eigene Objekte einer Klasse erstellen um damit zu agieren. Es gibt Klassen, die mit Referenzen auf externe Objekte arbeiten (die entweder bei der Instanziierung oder später mit Settern gesetzt werden). Ich hatte hier mal geschrieben, dass das Entwurfsmuster "Strategie" beschreibt, in dem letzteres benutzt wird.


Duddle
 

fth

Noch nicht viel geschrieben

AW: PHP Objektorientierung

Vl. hilft es dir weiter, dich auch einmal mit Entwurfsmustern (Design Patterns) zu beschäftigen. Ich finde da bekommt man sehr genaue Lösungen für viele Probleme die bei der Programmierung auftreten und mit etwas Know How kann man sich auch leicht Ideen für individuellere Probleme ableiten.
 

Mereel

Aktives Mitglied

AW: PHP Objektorientierung

Jetzt habe ich mich die letzten Tage nochmal intensiver damit auseinandergesetzt und zu einigen Stichworten, die hier genannt wurden diverse Webseiten und Tutorials durchforstet.

Ich denke der erste Groschen bezüglich OOP in der Praxis ist jetzt gefallen :)
Danke nochmals für die hilfreichen Antworten und Links.

Mereel
 
Bilder bitte hier hochladen und danach über das Bild-Icon (Direktlink vorher kopieren) platzieren.
Antworten auf deine Fragen:
Neues Thema erstellen

Willkommen auf PSD-Tutorials.de

In unseren Foren vernetzt du dich mit anderen Personen, um dich rund um die Themen Fotografie, Grafik, Gestaltung, Bildbearbeitung und 3D auszutauschen. Außerdem schalten wir für dich regelmäßig kostenlose Inhalte frei. Liebe Grüße senden dir die PSD-Gründer Stefan und Matthias Petri aus Waren an der Müritz. Hier erfährst du mehr über uns.

Stefan und Matthias Petri von PSD-Tutorials.de

Nächster neuer Gratisinhalt

03
Stunden
:
:
25
Minuten
:
:
19
Sekunden

Flatrate für Tutorials, Assets, Vorlagen

Zurzeit aktive Besucher

Statistik des Forums

Themen
118.564
Beiträge
1.538.064
Mitglieder
67.487
Neuestes Mitglied
MichaelSEivy
Oben