| | | | |
| | |
| PHP Code Flüsterer Registriert seit: 21.08.2005 Beiträge: 4682 PHP-Kenntnisse: Fortgeschritten | |
| | |
| Moderator und Wett-König | Hallo Agrajag, du solltest hier noch einen Schritt weiter gehen und dich - wie Zergling schon sagte - mit weiterführender Literatur zu MVC und 3-Schicht-Architektur. Hier gilt grundsätzlich folgendes: - Für die Inhalte der Applikation werden eigene Objekte (Domain-Objekte deklariert, die die Daten der Applikation enthalten) - Geschäftslogik wird in einer eigenen Software-Schicht gekapselt (macht sowas wie Formatierung von Datums, oder Bearbeitung von Inhalten in den Domain-Objekten) - Daten-Acquise fällt in den Aufgaben-Bereich der Datenschicht. Diese läd die Daten irgendwoher und stellt diese in Domain-Objekten der Business-Schicht zur Verfügung - Die Darstellung der GUI (hier in HTML) übernimmt die Präsentations-Schicht. Ein Teil dieser kann eine Template-Engine wie Smarty sein. Mach mir ein Beispiel und ich kann dir das detaillierter erklären.
__________________ Viele Grüße, Dr.E. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1. Think about software design before you start to write code! 2. Discuss and review it together with experts! 3. Choose good tools (-> Adventure PHP Framework (APF))! 4. Write clean and reusable software only! ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ |
| |
| | |
| Moderator und Wett-König | Hmm, das ist doch schon mal nicht so schlecht für den Anfang. Deine index.php ist in diesem Fall der (geskriptete) Pagecontroller, der Funktionen einbindet. Was du an deinem Design noch verbessern könntest wär folgendes: - Erstelle eine Klasse, die du "Mapper" nennst und implementiere dort generisch, oder fallspezifisch alle Methoden, die du brauchst um Daten zu lesen. - Implementiere eine "Manager", der den "Mapper" läd und sich von diesem die nötigen Daten geben lässt und entsprechend aufbereitet an deine "DocumentController" (z.B. anmelden.php) weitergibt. Dann hast du bereits ein 3-Schicht-Modell und musst in den jeweiligen Funktions-Dateien nur noch auf diese zurückgreifen. Vorteil ist zudem, dass du die Funktionen an zentraler Stelle einbinden kannst und dich innerhalb der Funktions-Dateien nicht mehr um das Hnadling mit der DB o.ä. kümmern musst. Solltest du Fragen haben, frag einfach!
__________________ Viele Grüße, Dr.E. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1. Think about software design before you start to write code! 2. Discuss and review it together with experts! 3. Choose good tools (-> Adventure PHP Framework (APF))! 4. Write clean and reusable software only! ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ |
| |
| | |||||
| Moderator Registriert seit: 02.10.2006
Beiträge: 3.820
PHP-Kenntnisse: Fortgeschritten ![]() ![]() | Zitat:
Zitat:
Also statt für jedes Objekt ein DAO zu erstellen, erstell ich eine Mapper-Klasse? Oder habe ich immernoch für jede Klasse ein DAO nur benutze ich die nicht mehr direkt sondern über die Mapper-Klasse? (oder ist die Mapperklasse sowas wie Hibernate bei Java?) Zitat:
Was macht der Manager genau? Ich weiß ja immer erst in der anmelden.php selbst welche Daten ich dort brauche? Was meinst du mit "aufbereitet"? Zitat:
Du siehst mir fehlt noch ein bißchen das grundlegende Verständnis... Ich glaub ich muss das noch ein paarmal lesen und sacken lassen
__________________ Today you...Tomorrow me. | ||||
| |
| | ||||||
| Moderator und Wett-König | Hallo Agrajag, Zitat:
![]() Zitat:
- Du hast in deiner Applikation einige Domain-Objekte (z.B. Gästebuch, Gästebucheintrag, Kommentar, Liste, Listeneintrag). - Es existiert ein zentraler Mapper, der alle diese Objekte kennt und Methoden besitzt um diese mit Daten aus der DB füllen kann. Beispiel: In einem Gästebuch hast du i.d.R. 2 Domain-(=Daten)-Objekte, Gästebuch und Eintrag. Du kannst nun dem Mapper eine Methode "verpassen", die loadGuestbookByPageRange() heißt und die dir je nach Übergabeparametern ein Guestbook-Objekt mit einigen Entries zurückgibt. Zitat:
anmeldung.php PHP-Code: Manager.php PHP-Code: Zitat:
PHP-Code: Zitat:
__________________ Viele Grüße, Dr.E. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1. Think about software design before you start to write code! 2. Discuss and review it together with experts! 3. Choose good tools (-> Adventure PHP Framework (APF))! 4. Write clean and reusable software only! ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |||||
| |
| | |
| Moderator und Wett-König | Hallo Agrajag, ich habe heute meine alte Page-Controller-Beispielseite wieder aufpoliert und die Doku upgedatet nachgezogen. Wenn du Lust hast das Beispiel anzusehen, kannst du dir unter http://media.adventure-php-framework...l_webseite.zip das Package runterladen. Einfach im DocumentRoot - oder einem Unterordner - entpacken und die index.php aufrufen. Es vermittelt dir das oben erklärte an einem praktischen Beispiel. Solltest du Fragen haben, dann lass es mich wissen.
__________________ Viele Grüße, Dr.E. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1. Think about software design before you start to write code! 2. Discuss and review it together with experts! 3. Choose good tools (-> Adventure PHP Framework (APF))! 4. Write clean and reusable software only! ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Geändert von dr.e. (13.06.2009 um 17:06 Uhr). |
| |
| Themen-Optionen | |
| Thema bewerten | |
|
|
Ähnliche Themen | ||||
| Thema | Autor | Forum | Antworten | Letzter Beitrag |
| Smarty + MySQL = immer falsche Ausgabe | m0use` | PHP Tipps 2006 | 44 | 21.11.2008 20:30 |
| if abfragen in Templates | rob1011 | PHP Tipps 2006 | 13 | 03.08.2006 15:55 |
| Smarty + Oop Problem | Komandar | PHP Tipps 2006 | 5 | 25.07.2006 14:36 |
| Vererbung bei Templates | Pain-maker | PHP-Fortgeschrittene | 9 | 28.03.2006 10:05 |
| Smarty verschachtelt | snatch-ic | PHP Tipps 2006 | 16 | 28.02.2006 20:54 |
| [Erledigt] Navigation auf Smarty umstellen?! | PHP-Fortgeschrittene | 3 | 10.01.2006 09:19 | |
| Smarty installiert und nun? | Cyrus | PHP Tipps 2005-2 | 5 | 28.10.2005 16:14 |
| Smarty Error | Simon9990 | PHP Tipps 2005-2 | 8 | 07.07.2005 09:34 |
| Smarty und X-Cart Profis gesucht | Beitragsarchiv | 1 | 21.05.2005 13:38 | |
| [Erledigt] includepathproblem pear blockiert smarty und umgekehrt | PHP Tipps 2005 | 1 | 08.05.2005 18:46 | |
| Smarty? Die wesentlichen Vorteile? | Off-Topic Diskussionen | 7 | 20.09.2004 13:04 | |
| [Erledigt] Wieder mal Templates! | PHP-Fortgeschrittene | 1 | 10.09.2004 11:42 | |
| [Erledigt] Smarty - Schleifenmanagment in Templates | PHP-Fortgeschrittene | 5 | 27.08.2004 17:29 | |
| If Anweisung mit Smarty Templates! Wo ist der Fehler? | PHP Tipps 2004 | 3 | 18.07.2004 22:10 | |
| Smarty Templates + Radio Buttons + Auswertung | Transmitter | PHP-Fortgeschrittene | 0 | 05.07.2004 18:29 |
| Besucher kamen über folgende Suchanfragen bei Google auf diese Seite |
| smarty gästebuch, php aufgabe, gästebuch mit smarty, smarty htmlentities, smarty templates aufgaben, smarty escape, templates aufgabe, smarty getdate, smarty user anmelde template, smarty ausgabe grundsätzlich escape, templates smarty objekte, smarty controler aufrufen, smarty beispiel, array in template deklarieren smarty, smarty central einbinden, array mit smarty füllen, smarty templates datenbank, gästebuch steig, smarty setcontent, smarty space füllen |

Dieser Inhalt ist unter einer Creative Commons-Lizenz lizenziert.