| | | | |
| |||||||
| Software-Design Diskussionen auf Profi-Niveau: PHP Lösungen auf konzeptioneller Ebene |
|
| | LinkBack | Themen-Optionen | Thema bewerten |
| | |
| Neuer Benutzer Registriert seit: 17.11.2009
Beiträge: 5
PHP-Kenntnisse: Fortgeschritten ![]() | update Bitte dem unteren Posting Beachtung schenken, dieser hier ist nicht mehr direkt Relevant http://www.php.de/software-design/61...tml#post469982 (Kritik - OOP Event-Calendar (Konzept+Code)) /update Hallo allesamt, ich hoffe ich darf eine solche Frage bzw. Bitte hier im Forum posten, wenn es das falsche Forum ist, dann entschuldige ich mich hiermit direkt und bitte um ein Verschieben oder Löschen des Beitrages Zu meiner Bitte: Ich habe mich in den vergangenen Monaten immer wieder etwas in OOP eingelesen und versucht mir einige Dinge anzueignen, jedoch habe ich in meinem direkten Umfeld einfach niemandem, der mehr Erfahrung hat als ich und somit auch niemanden, der direkt Kritik an meinem Code ausübt. Aus diesem Grund wende ich mich nun an dies Forum hier! Ich entwickle derzeit ein Event-Calendar mit spezifischen Anforderungen welche mir hier auf der Arbeit gegeben werden. Aufgrund persönlicher Weiterbilung und Interesse an das Lernen der Materie mag ich dabei nicht auf Fertigscripte zurckgreifen (zum einen) und auch habe ich nichts gefunden, was den Anforderungen absolut gerecht wird (zum anderen). Hier einmal der gesamte bisherige Code: ./DUIT/index.php (nicht wirklich relevant) ./DUIT/config.ini ./DUIT/Calendar.php ./DUIT/Calendar/Event.php ./DUIT/Calendar/EventMapper.php ./DUIT/Calendar/loc/de.php Das dazugehörige Datenbanklayout Ordnerstruktur ist halt nach dem PEAR-Standard ausgerichtet und somit auch die Namensgebung der Klassen. index.php sowie config.ini sind nur zu Testzwecken und befinden sich sonst natürlich woanders. Meine konkreten Fragen: 1) In der Event.php bzw der dazugehörigen Klassen weise ich derzeit recht kompliziert die einzelnen Daten eines Events zu. Die kann ich bestimmt besser lösen, da gibt es jedoch zig verschiedene Varianten zu. 2) In der Calendar.php sind die unteren printXY() Funktionen enthalten. Als View-Elemente sollten diese überhaupt direkt in der Klasse enthalten sein, oder gliedert man soetwas besser in eine Calendar/View.php aus? (Sowie ich das nun so frage, kommt mir das jedenfalls schon viel sinniger vor oO) 3) Bei den ganzen Datumsgeschichten bezüglich Lokalisierung: Ich bin leider sehr unbewandert in Datumsgeschichten und lokalisierung, bietet PHP selbst da komplette lokalisierungen für alle möglichen Sprachen (inklusive asiatischer Sprachen?) oder ist das so wie ich das gelößt habe in Ordnung? (<= daran habe ich nämlich irgendwie zweifel 4) Die Sache mit dem EventMapping mache ich glaube ich auch grundlegend "falsch" aber das ist einfach was, da muss ich mich noch viel besser einlesen. Ich weis, dass das nicht gerade wenig Code ist und wohl die wenigsten großartig Lust haben über soetwas drüber zu schauen. Ich bin jedoch für jeglichen Kommentar mehr als dankbar! /edit Achja, ich benutze dabei auch einige Teile des Zend_Frameworks, aus welchen sich besonders Datenbanktechnisch mit SICHERHEIT viel, viel, viel mehr rausholen lässt, aber aus dieser Dokumentation werde ich persönlich mal überhaupt nicht schlau Mit freundlichen Grüßen Sam Geändert von manuakasam (21.11.2009 um 10:08 Uhr). Grund: Link zum relevanten Post hinzugefügt |
| | |
| | |
| PHP Code Flüsterer Registriert seit: 21.08.2005 Beiträge: 4682 PHP-Kenntnisse: Fortgeschritten | |
| | |
| Moderator und Wett-König | Um mich Nikosch anzuschließen: Aus Sicht der OOP hast du es an dieser Stelle mit mehreren Domänen-Objekten zu tun:
__________________ 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! ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ |
| | |
| | |
| Neuer Benutzer Registriert seit: 17.11.2009
Beiträge: 5
PHP-Kenntnisse: Fortgeschritten ![]() | So guten Morgen Nachdem man mir nun die Sache mit der Location nochmals unter die Nase gerieben hat, habe ich mich dann doch entschlossen das ganze ordentlich zu machen. Dabei ist mir dann auch direkt der Domainunterschied von Location und Addresse klar geworden... (jedenfalls denke ich, dass es das ist) Ich habe das neue DB-Model mal gepostet klick me if you want to take a look Ich denke mal so sollte das DB Model OK sein... Ich denke nicht, dass ich "Verknüpfungstabellen" erstellen muss, welche dann nur zB loc_id <-> event_id enthalten, oder? Selbiges Spiel dann auch bei loc_id <-> adr_id PLZ und Stadt zu trennen, da war ich noch nie wirklich ein freund von, auch wenn es rein theoretisch möglich wäre... |
| | |
| | |
| Neuer Benutzer Registriert seit: 17.11.2009
Beiträge: 5
PHP-Kenntnisse: Fortgeschritten ![]() | Hallo allesamt nochmal, ich habe mal mein Konzept (und Code auch schon @xm22 Ja, das stimmt und ist mir auch total einleuchtend. Das habe ich mal in irgendeinem PHP Buch aufgeschnappt (eigentlich ein recht gutes) und es ist leider irgendwie hängen geblieben, kA wieso ich das so gemacht habe... Das Konzept Was ist ein EventCalendar?
> Das Datenbank Schema Das Klassenkonstrukt sieht dabei wie folgt aus: > Link zur PHPDocumentor Ausgabe (Oben rechts das Package DUIT_Calendar anklicken - sry, kenne mich mit dem phpdoc tool ned aus, wie man da was einstellt, damit der dinge direkt anzeigt ^^) Derzeit habe ich nur die reinen Models implementiert. Die Views konzipiere ich gerade, vorgestellt als Use-Case habe ich mir das so $cal = new DUIT_Calendar(); $view = new DUIT_Calendar_Viewer($cal); echo $view->printCalendarSmall(); echo $view->printLatestEvents(int $count); echo $view->printNextHoliday(); etc... Wie zuvor auch, egal welches Feedback ich bekommen sollte, zum Code selbst, oder zum Konzept, ich bin für alles dankbar! PS: Die ganzen *_Db_*.php classes sind vom Zend_Framework abgeleitet, jeweils Active-Records und Row-Data-Gateways Grüße, sam |
| | |
|
| Themen-Optionen | |
| Thema bewerten | |
|
|
| Besucher kamen über folgende Suchanfragen bei Google auf diese Seite |
| php oop kalender, objektorientierte programmierung kritik, php oop calendar, php oop events, kritik oop, oop veranstaltung, kalender php oop, kritik objektorientierte programmierung, calendar code, html event calendar code, event calendar, php calendar, kalender code, php kalender anforderungen, php oop event calendar, oop php kalender, php calendar oop, software konzepte php oo, php kalender programmieren mit events über mehrere tage, php kalender oop |