Forum

Guest  

Show or hide header
Welcome Guest, posting in this forum require registration.




Zend Framework Buch » Feedback » Verbesserungsvorschläge » Models und Lokalisation

Pages: [1]
Author Topic: Models und Lokalisation
patrick
Member
Posts: 2
Post Models und Lokalisation
on: 04.01.2010 10:12:56

Hallo Ralf,

erst ein Mal besten Dank für dieses prima Buch, ich werde auch noch eine Bewertung bei amazon.de abgeben – versprochen.

Auch wenn im Buch mehr oder weniger die gleichen Erklärungen wie im Quickstart oder Manual gegeben werden, erleichtern die Beispiele das Verständnis doch sehr. Viele Lösungen – ACL usw. – sind zwar auch im Internet zu finden, hier ab jeweils isoliert. Für mich leistet das Buch eine gute Verbindung zwischen der Doku von Zend, verschiedenen Beiträgen im Internet und einem zusammenhängenden Beispiel, dass zeigt, wie man alles zusammenfügen kann.

Nun aber zu meinem Verbesserungsvorschlag: Sämtliche Beispiele die ich so gefunden habe erläutert das Darstellen und Verarbeiten von Texten oder Zahlen im Formular/Datenbank/Model. Das ist schnell gemacht, ein paar Filter und Validatoren und fertig ist die Anwendung. Probleme treten erst bei lokalisierten Feldern auf (Datum, Währung usw.) und hier halten sich viele Beispiele sehr bedeckt.

In der Datenbank wird ein Datum im Format yyyy-MM-dd gespeichert. Im View soll die Ausgabe natürlich im Format dd.MM.yyyy erfolgen. Im Formular selbstverständlich auch – allerdings wäre es prima wenn folgendes klappen würde:

$model->save($form->getValues())

geht aber nicht, denn ein Filter der das Datum von dd.MM.yyyy nach yyyy-MM-dd ändert würde ja auch beim laden des Formulars angewendet und haut alles in Stücke …

Also setze ich im Model Zend_Filter_Input ein und die neuen LocalizedToNormalized bzw. NormalizedToLocalized Filter ein. Die schlagen bei Date/Time allerdings fehl, da Zend_Filter_Input ein Array als SubForm betrachtet und hier das Date/Time Array durchfiltertet statt zu lokalisieren.

Außerdem finde ich es wenig sinnsoll in jedem View das Datum an jeder Stelle per ViewHelper zu formatieren.

Aktuell bin ich auf dem Trip im Model alle Werte gleich zu lokalisieren und erst beim Speichern wieder mit Zend_Filter_Input anzupassen. Ich arbeite mit einem Model und einem Mapper; über getter/setter Methoden wird dann Zend_Filter_Input aufgerufen, die Filter sind in einem protected Array abgelegt. Aber richtig überzeugt bin ich immer noch nicht.

Zend_Form bräuchte m.E. mehrere Filter – für Verarbeitung und Anzeige. Das wurde auch in Foren bzw. im IssueTracker bereits mehrfach geäußert, aber immer abgelehnt. Dabei wäre es m.E. durchaus sinnvoll, dann würde der o.g. Code funktionieren!

Vielleicht kannst du dieses Thema in Zukunft ein Mal aufrollen?!

Beste Grüße
Patrick

Pages: [1]
WP-Forum by: Fredrik Fahlstad, Version: 2.2
Page loaded in: 0.018 seconds.