APF-Tracker

Adventure PHP Framework Issue Management


View Issue Details Jump to Notes ] Issue History ] Print ]
IDProjectCategoryView StatusDate SubmittedLast Update
0000160Adventure PHP FrameworkNeues Feature // New Featurepublic2014-03-01 08:362016-10-11 13:14
ReporterChristianAchatz 
Assigned Todingsda 
PrioritylowSeverityfeatureReproducibilityN/A
StatusassignedResolutionopen 
Product Version 
Target Version3.4Fixed in Version 
Summary0000160: Refactoring database connection layer
DescriptionGoal:
* Streamline interface
* Full support of prepared statements
Additional InformationSupport of connection creation via the DI container has already been shipped with 1.17.
TagsNo tags attached.
Codereferenz: ([Datei]:[Zeile])
Namespacecore
Attached Files

- Relationships

-  Notes
(0000269)
dingsda (developer)
2014-03-19 03:47
edited on: 2014-03-19 10:19

dazu mal einige überlegungen/fragen:

1)
aktuell sieht es so aus, dass alle methdoden pro handler in einer klasse definiert sind.
soll das so beibehalten werden?
ich find die teilung bei mysqli und pdo da etwas besser. ist es denkbar, das auch hier umzusetzen? möglich sollte es sein. ich hab das schon teilweise mit dem pdo hinbekommen und werd die tage mal testen wie es mit mysqli machbar ist.

2)
was mir aktuell auch gar nicht gefällt ist, dass man bei vielen methoden nen parameter übergeben muss, der in den eigentlichen funktionen von mysqli und pdo nicht nötig ist. z.b. getAffectedRows($pdoStatement).

3)
in der connectionManager doku steht zu PDO:
" Die Besonderheit beim PDO-Treiber sind, dass die execute*()-Methoden ein PDOStatement zurückliefern, dadurch ist es möglich, sowohl die APF-Methoden, als auch die unter PHP.net PDOStatement beschriebenen Methoden zu verwenden. "
ist das wirklich so gewollt? oder eher aus der not heraus entstanden, dass
nicht alle Methoden verfügbar gemacht werden konnten.

4)
wird der MySQLxHandler rausgeschmissen, wenn prepared statements richtig unterstütz werden sollen oder ist geplant das irgendwie zu emulieren?
letzteres fänd ich nicht so toll. es gibt 2 handler um mit mysql zu kommunizieren. da kann man gut auf mysql_ verzichten.

5)
ähnliche überlegung auch zu sqlite. soweit ich gelesen habe unterstützt die schnittstelle sqlite keine prepared statements. die neue schnittstelle ist wohl sqlite3, wenn ich das richtig verstanden hab. und die unterstützt auch prepared statements. soll das ersetzt werden? da pdo mit sqlite umgehen kann könnte man drauf auch verzichten, sofern die sqlite-spezifische schnittstelle keine anderen vorteile bietet.

6)
in der doku steht zu pdo weiterhin:
"Mit dem aktuellen Stand (Version 1.15) wird nur der PDO_MYSQL-Treiber unterstützt, weitere werden allerdings folgen! "
ist das immernoch aktuell oder wurde nur vergessen den hinweis zu entfernen? woran liegt das?

(0000290)
dingsda (developer)
2014-04-08 23:58

erster Versuch:
http://forum.adventure-php-framework.org/viewtopic.php?f=5&t=5391 [^]
(0000322)
ChristianAchatz (administrator)
2014-05-04 22:01

Portiere gerade die Änderungen in den Branch "feature-id-160-db-refactoring". Publiziere ihn auf GitHub sobald ich fertig bin.
(0000606)
ChristianAchatz (administrator)
2015-09-05 17:14

@dingsda: magst du dir das Thema nochmal ansehen?
(0000607)
ChristianAchatz (administrator)
2015-09-05 17:14

Moved to 3.2 to shape scope for 3.1.

- Issue History
Date Modified Username Field Change
2014-03-01 08:36 ChristianAchatz New Issue
2014-03-19 03:47 dingsda Note Added: 0000269
2014-03-19 10:19 dingsda Note Edited: 0000269 View Revisions
2014-03-25 21:53 dingsda Assigned To => dingsda
2014-03-25 21:53 dingsda Status new => assigned
2014-04-08 23:58 dingsda Note Added: 0000290
2014-05-04 22:01 ChristianAchatz Note Added: 0000322
2014-06-11 23:50 dingsda Target Version => 3.0
2015-01-28 19:13 ChristianAchatz Target Version 3.0 => 3.1
2015-09-05 17:14 ChristianAchatz Note Added: 0000606
2015-09-05 17:14 ChristianAchatz Note Added: 0000607
2015-09-05 17:14 ChristianAchatz Target Version 3.1 => 3.2
2016-03-23 14:01 ChristianAchatz Target Version 3.2 => 3.3
2016-10-11 13:14 ChristianAchatz Target Version 3.3 => 3.4


Copyright © 2000 - 2017 MantisBT Team
Powered by Mantis Bugtracker