| | | | |
| | |
| PHP Code Flüsterer Registriert seit: 21.08.2005 Beiträge: 4682 PHP-Kenntnisse: Fortgeschritten | |
| | |
| Gast
Beiträge: n/a
| Es geht um die Struktur an sich. Wie gestaltet man eine Website objektorientiert, wo legt man den Content ab und wie wird er eingebunden etc. Finde leider keine konkreten Beispiele im Netz. Meine ersten Versuche gehen alle in die Richtung, das ich auch gleich einfach nur Funktionen und Includes nehmen kann und auf das selbe Ergebnis komme. Wollte aber gerade die objektorientierte Programmierung anwenden um das zu lernen. |
| | |
| Gast
Beiträge: n/a
| Vielen dank auch, Ben. Beherrscht hier niemand die OOP, oder will mir einfach nur keiner helfen? Wo klemmt es? Von mir aus hat das Projekt auch 20 Klassen. Mir gehts darum es mittels OOP zu realisieren. Ich versuche herauszufinden, wie ich das anpacke. Auf traditionelle Art wäre das auch gar kein Problem, nur OOP ist eine Sache für sich... Oder soll ich meine Frage mal bei forum.developers-guide.net stellen? Aufstrebend, kompetent und werbefrei... da kann ich eventuell bessere Antworten von dir erwarten, nehme ich an. |
| | ||
| Erfahrener Benutzer Registriert seit: 21.05.2008
Beiträge: 9.937
![]() | Zitat:
Das ergibt keinen Sinn. Ich löse es so, dass ich eine HTML-Klasse habe, die ich abstrakt halte. Eine MyHTML-Klasse die von HTML erbt, aber ein paar projektspezifische Eigenarten haben kann, wie z.B. für jede Seite eine bestimmte CSS-Datei reinladen etc. Eine normale Seite erstelle ich dann praktisch so // home.php Code: <?php
$html =& new MyHTML();
$html->addCSS('home.css');
print $html->head('Home');
?>
hier steht mein Content
<?php
print $html->foot();
?>
class.HTML.php: http://nopaste.php-q.net/174080 class.MyHTML.php: http://nopaste.php-q.net/174081 head.tpl: http://nopaste.php-q.net/174082 foot.tpl: Code: </body> </html> | |
| |
| | |
| Erfahrener Benutzer Registriert seit: 18.07.2004
Beiträge: 2.162
PHP-Kenntnisse: Fortgeschritten ![]() | Hi. Ich bin zwar sicher kein "PHP-Fuchs", aber vielleicht kann ich dich dennoch ein wenig weiterbringen. Zunächstmal ist "website" die falsche Übersetzung für eine Webseite im Sinne einer einzelnen Seite. Page wäre hier eher angebracht. Dann steht natürlich die Frage nach den konkreten Anforderungen im Raum. Diese mal meiner Phantasie überlassen könnte das vielleicht so aussehen: Eine Seite ist bestimmt durch Inhalte, einem Layout und seinem Platz innerhalb der Website. Die Inhalte lassen sich in versciedene Typen aufteilen. Im einfachsten gibt es einen Typ "Article", der es Redakteuren leicht ermöglicht, einen Text mit Überschrift, Aufreißer, Absätzen, Links und Bildern (etc.) einzufügen. Ein zweiter Typ wäre einfach "HTML", der die freie Gestaltung einiger anderer Seiten durch fachkundige Hände schnell ermöglicht. Folglich wären also schonmal zwei Klassen "Article" und "HTMLPage" (besserer Name wäre nicht schlecht) geboren, die beide von einer Klasse "Page" abzuleiten wären, denn beide Seitentypen differieren ja nur in der Aufmachung und den Bearbeitungsroutinen des Haupt-Inhaltes - andere Elemene, wie das Grund-Layout, die Navigationselemente, Header und Methoden zum Rendern des Ganzen sind für beide Seitentypen von der Struktur her ja identisch. Nun die Navigation. Hier brauchst du im einfachsten Fall einfach eine Klasse, die einen Baum abbildet und die quasi die Sitemap abbildet (sei "Sitemap"). Die übergibst du der konkreten Page-Objektes, damit dieses dann daraus die Navigation erstellen kann. In eine Klasse "Site" wäre dann vielleicht noch sinnig. Sie liest die (Site-weite) Konfiguration aus, erzeugt die Sitemap und angefragte Seiten. Das wäre mal so in etwa das einfachste Modell ... etwas arg oberflächlich betrachtet... Basti |
| |
| | |
| Gast
Beiträge: n/a
| Vielen herzlichen Dank, Zergling und Basti. Ihr habt mir eine Ecke weiter geholfen. Super! Also habe ich mal damit angefangen, eine Klasse für die Karteikarten-Navigation zu schreiben, die auch schon gut funktioniert. Mit einem neuen Objekt als Instanz der Klasse karteikarten_navi() wird der Anfang der HTML-Tabelle erzeugt. Also <TABLE> <TR>. Dann kann man mit der Methode karteikarte_erstellen() jeweils eine Karteikarte erstellen. Man übergibt dabei die Parameter Titel, URL und Aktiv (aktiv = 1 bedeutet, die Karteikarte ist angewählt, also im Vordergrund). Mit der Methode output() wird alles inkl. Ende der Tabelle durch </TR></TABLE> ausgegeben. Hier merke ich das erste mal, das die OOP sinn macht. Das mache ich nun also für alle wesentlichen dynamischen Elemente in der Website die immer wieder auftauchen, und erzeuge innerhalb der Klassen wie Page bzw. Website neue Instanzen von Objekten aus diesen Klassen wie die karteikarten_navi, und bastel so stück für stick ein vollständiges HTML-Dokument zusammen. Stimmt's soweit? :P @Zergling, was bedeutet das =& in PHP-Code: MfG FiredUp |
| Themen-Optionen | |
| Thema bewerten | |
|
|
Ähnliche Themen | ||||
| Thema | Autor | Forum | Antworten | Letzter Beitrag |
| Biete: PHP/MYSQL/AJax/Javascript Programmierung | PhilipW | Beitragsarchiv | 8 | 22.04.2009 15:00 |
| Kurze Einführung in Firefox Search Plugin Programmierung | PTC | Tutorials | 5 | 10.02.2009 01:31 |
| denkfehler? kontrollkästchen in datenbank | sanz | PHP Tipps 2008 | 16 | 08.05.2008 14:48 |
| Inhalte von Array werden nicht ausgegeben ... Denkfehler? | maeck | PHP Tipps 2007 | 10 | 07.05.2007 16:04 |
| PHP Socket Programmierung | Broadcast | PHP-Fortgeschrittene | 19 | 01.05.2006 21:15 |
| OOP Denkfehler, wie lösen gegenseitiges Zugreifen | CC84 | PHP Tipps 2006 | 17 | 29.03.2006 20:21 |
| Denkfehler bei $_GET | PHP Tipps 2005-2 | 25 | 28.10.2005 11:55 | |
| Stundensatz für PHP Programmierung | Off-Topic Diskussionen | 2 | 27.02.2005 18:57 | |
| denkfehler mit input-felder | PHP Tipps 2005 | 2 | 27.02.2005 11:32 | |
| [Erledigt] Wer hilft mir bei der Programmierung (PHP) | Off-Topic Diskussionen | 3 | 15.11.2004 09:20 | |
| [Erledigt] Wer hat das Urheberrecht auf die Programmierung ? | Off-Topic Diskussionen | 17 | 27.10.2004 14:30 | |
| if Abfrage - Denkfehler | medico | PHP Tipps 2004 | 4 | 05.08.2004 08:53 |
| Programmierung eines WebCalenders für ein Intranet | PHP Tipps 2004 | 2 | 17.06.2004 11:22 | |
| Besucher kamen über folgende Suchanfragen bei Google auf diese Seite |
| objektorientierte website, webseite objektorientiert, objektorientierte webseite, website objektorientiert, php website objektorientiert, php objektorientiert, php objektorientierte navigation, webseiten objektorientiert, php objektorientiert programmieren, webseite objektorientiert programmieren, objektorientierte webseiten, objektorientierter aufbau einer webseite, php webseiten objektorientiert, php objektorientiert navigation, oop programmierung php, webseite objektorientiert php, objektorientierte programmierung fehler, objektorientierte webseiten programmierung php, php karteikarte, php navigation objektorientiert |

Dieser Inhalt ist unter einer Creative Commons-Lizenz lizenziert.