![]() |
| | Themen-Optionen | Thema durchsuchen |
| | Nach oben #1 |
| Christian Mühlroth Registriert seit: 04.09.2005 Ort: Nürnberg
Beiträge: 561
|
Guten Morgen, nun, wie ich ja schon hier öfter erzählt habe arbeite ich derzeit an einem etwas größeren, aber privaten, Projekt. Da meine "Software" auch irgendwann mal an die Öffentlichkeit gehen soll, habe ich mich aus Kompatibilitätsgründen für ein etwas ausführlicheres Model entschieden (mein Script basiert auf dem MVC-Prinzip). Vorweg: Auf ein bestehendes ModelFramework o.ä. möchte ich nicht zurückgreifen. Derzeit habe ich nur ein Model, MySQL, jedoch ist dies noch lange nicht in die Richtung programmiet, in die ich das später haben möchte. Letztendlich gibt es verschiedene (persistente) Datenströme die ich abfragen können möchte, wie beispielsweise pgSQL, msSQL, (access?), mySQL und auch XML. Ich mache mir seit einiger Zeit Gedanken darüber, wie ich denn die Schnittstelle realisieren könnte. In einer kleinen PHP-Testdatei, in der ich derzeit etwas rund um das Thema Model rumspiele, habe ich schon mal einen kleinen Wrapper aufbereitet (wie immer, aus Kompatibilitätsgründen noch als PHP4). PHP-Code: Eine Instanz erstelle ich mir dann hiermit: PHP-Code: Einfache Abfragen, wie etwa diese, habe ich auch schon umgesetzt: PHP-Code: PHP-Code: Wie realisiere ich solche komplizierten JOIN-Abfragen? Und wie kann ich Abfragen mit >, < bzw != Operatoren durchführen? Ich bedanke mich im Vorraus für die Hilfe //edit Anstößigen Thread http://forum.developers-guide.net/showthread.php?t=4630 habe ich mir natürlich durchgelesen, aber da das THema eher Richtung propel abdriftet, habe ich hier mein extra Thread erstellt
__________________ http://www.ChrisDiary.De Geändert von Chr!s (29.10.2006 um 09:47 Uhr) |
| | |
| | Nach oben #2 | ||
| Gast
Beiträge: n/a
| Zitat:
besser machen? * propel oder einen ähnlichen code-generator verwenden, spart redundante arbeit und fehler. bis zu CRUD ist alles immer das gleiche. * nicht derart dynamisch arbeiten: niemand wird die blöden tabellenspalten umbenennen wollen und erwarten, dass dein code immer noch läuft. wenn man deine software installieren soll, kannst du ruhig erwarten, eine leere datenbank zur verfügung zu haben. ansonsten kannst du mit einem tabellen-präfix arbeiten. mehr nicht. mit einer derartigen indirektion bekommst du nur probleme. hast du schonmal mit den PEAR-factories gearbeitet? das schlimmste, was man haben kann. * no magic numbers, no magic strings: statt createDatabaseHandle('mySQL') solltest du eher createMySQLDatabaseHandle() verwenden. ersteres findet dir im fehlerfall kein debugger, beim zweiteren hilft dir jede IDE beim entwickeln. Zitat:
| ||
|
| | Nach oben #3 | |
| Christian Mühlroth Registriert seit: 04.09.2005 Ort: Nürnberg
Beiträge: 561
| Zitat:
__________________ http://www.ChrisDiary.De | |
| | |
| | Nach oben #5 |
| Gast
Beiträge: n/a
|
... und erzeugt daraus optimalerweise php-code, der als objekt-relationales mapping die CRUD (create, update, delete)-funktionalität in generierter form übernimmt, optimalerweise die eingabeformulare generiert und so weiter. du könntest aber auch einfach mal bei http://propel.phpdb.org vorbeischauen und dich weiter informieren. grüße axo |
|
| | Nach oben #6 | |
| Erfahrener Benutzer Registriert seit: 18.08.2005
Beiträge: 108
|
Ich würde auch davon abraten, dass selber zu bauen, weil Dir offensichtlich das Wissen fehlt, wie das eigentlich funktionieren soll. Das fängt damit an, dass das was Du Model nennst (in deinem Code), kein Model im Sinne eines MVC ist, sondern nur eine Daten(bank)-Abstraktion. Model-Frameworks wie ActiveRecord liefern erst dann ein Model, wenn man per ORM Klassen an die Daten bindet, so dass die herauskommenden Objekte "business logic" enthalten und das Model sind. Ausserdem setzt Du mit deinem bisherigen Ansatz auf der völlig falschen Ebene an, Du versuchst einfach nur, SQL nachzubauen. Das mag auf Basis einer Kombinator-Basierten DSL durchaus Sinn machen, für diese verschachtelten Arrays hab ich aber wenig Hoffnung, v.a. wenn Du jetzt noch keine Ahnung hast, wie das am Ende aussehen soll, wird das nicht endlos erweiterbar sein und einfach im Chaos enden. Wenn Du weisst worum es geht, und am besten mal mehr als einen Ansatz für Model- oder Datenpersistenz-Frameworks gesehen hast, kannst Du sowas selber machen. Zitat:
| |
| | |
![]() |
| Lesezeichen |
| Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1) | |
| Themen-Optionen | Thema durchsuchen |
| |