PHP Forum

PHP Forum (http://www.selfphp.de/forum/index.php)
-   PHP Entwicklung und Softwaredesign (http://www.selfphp.de/forum/forumdisplay.php?f=14)
-   -   optische Ausgabe einer geworfenen Exeption in einem MVC (http://www.selfphp.de/forum/showthread.php?t=24624)

urvater 20.03.2012 21:03:51

optische Ausgabe einer geworfenen Exeption in einem MVC
 
Um mich besser mit OOP auseinander setzen zu können, versuche ich ein eigenes Framework zu erstellen, welches zum Erstellen eines MVC nutzbar sein soll.

ZEND Framework hab ich mir hier als Vorbild genommen. Allerdings steige ich da noch nicht ganz dahinter, wie welche Klassen zusammen arbeiten. Das soll aber auch nicht das Problem sein.

Bei meinen Gedanken zur Controller-Klasse ist mir allerdings aufgefallen, dass ich momentan so überhaupt keinen Plan habe, wie man die optische Ausgabe einer geworfenen Exeption steuert.

Den Controller ermittel ich ja über die URL oder hole ihn mir aus einer festgelegten GET-Variable. Im Controller erzeuge ich je nach Methode das benötigte Model. Den View kann man wie in ZEND per Dateiname regeln.

Aber wie bekomme ich es hin, dass ich den ExeptionController aufrufe, wenn z. B. der Controller ein Modell mit DB-Verbindung aufruft und die DB-Klasse eine Exeption wirft.

Im ZEND gibt es den Dispatcher. Ich vermute einmal, dass es durch diesen geregelt wird.

Voraussetzung wird sein, dass ich eine Exeption-Klasse im Framework schreibe.
PHP-Code:

Class Meine_Exeption extends Exeption{} 

Im MVC wird dann der ExeptionController angelegt.
PHP-Code:

Class ExeptionController extends Meine_Exeption{} 

Und im Order welcher die Views enthält kommt dann die exeption.phtml

Kann mir hier jemand Lektüre, möglichst auf deutsch, nennen, welche mich auf den richtigen Weg bringt oder es mir hier erklären?

DokuLeseHemmung 20.03.2012 22:23:25

AW: optische Ausgabe einer geworfenen Exeption in einem MVC
 
Ich habs nicht so mit dem ZF.
Kann sich mit V2 ändern, aber das steht in den Sternen.

Exceptions würde ich nicht ungefiltert zum Besucher durch kommen lassen.

Abfangen und eine Error Seite ausliefern.
Loggen kann man sie ja.
Der Admin darf sie sehen.

Zitat:

Im ZEND gibt es den Dispatcher. Ich vermute einmal, dass es durch diesen geregelt wird.
Front Controller ?

Wenn der eigentlich zuständige Controller auf die Nase fällt, dann darf der Front Controller (oder auch Dispatcher(denn er fällt ja auch wegen seinem misslungenen Vorhaben auf die Nase)) einen Error Controller anstoßen.

Alle Klarheiten beseitigt?
;) ;)

urvater 21.03.2012 11:35:49

AW: optische Ausgabe einer geworfenen Exeption in einem MVC
 
Naja zumindest die Denkrichtung in die richtige Richtung gebracht und dabei hast du mich auch gleich auf etwas aufmerksam gemacht, was ich bislang bei diesem Thema nicht berücksichtigt hatte.

Mal sehen ob ich hier später noch weiter fragen muss oder ob ich so klar komme.

Die Ausgabe der geworfenen Exeption war auch für das Referenzsystem gedacht. In der Produktion ausgeschaltet und im Testsystem eingeschaltet. Wenn ich deine Anmerkung zum Thema nehme wäre es allerdings dann auch wieder egal für eine geworfene Exeption einen extra View zu erstellen. Da würde ja, neben dem Log, ein formatiertes echo vermutlich reichen. Alles über einen Schalter geregelt ob man sich in der Produktion oder im Test/Referenz befindet.

Stimmt den Front Controller gibt es im ZF auch noch.

*offtopik*
Ob man nun ZF mag oder nicht ist vermutlich auch eine Frage der persönlichen Einstellung.
Ich hab es mir als "Referenz" genommen um eine geordnete Struktur zu bekommen und überhaupt erst einmal einen Einstiegspunkt zu bekommen, wie was später funktionieren soll.
*/offtopik*

meikel (†) 24.04.2012 19:04:44

AW: optische Ausgabe einer geworfenen Exeption in einem MVC
 
Zitat:

Zitat von DokuLeseHemmung (Beitrag 143135)
Ich habs nicht so mit dem ZF.

Willkommen im Klub. Jut, ich fauler Sack mag allerdings auch kein MVC...


Alle Zeitangaben in WEZ +2. Es ist jetzt 10:05:52 Uhr.

Powered by vBulletin® Version 3.8.3 (Deutsch)
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.