Hi!
Kurze andere Frage: PDO vs. Zend-Db? Kann mir jemand kurz und knapp sagen, warum ich das eine oder das andere favorisieren sollte? Im Endeffekt baut Zend-Db doch nur PDO nach, oder?
Bei PDO ist man auf die Implementationen in PHP angewiesen. Zend_Db muss aber nicht nur auf PDO aufsetzen. Es könnte auch direkt mysqli supporten (tut's ja auch) oder irgendwelche anderen in PDO nicht enthaltenen DBMSe. Außerdem fügt sich Zend_Db viel besser als PDO in das ZF ein, weil es ja direkt nach den ZF-Coding-Style-Richtlinien entworfen wurde. Auf PDO hat man da (theoretisch) keinen Einfluss.
Man hat ja damals mit PDO angefangen, weil man sich so die einzelnen Adapter für die verschiedenen DBMSe sparen konnte. Vermutlich war man damit teilweise nicht so glücklich und/oder performant, so dass man dann doch noch separate Adapter hinzugefügt hat.
Ich nutze zur Zeit ausschließlich PDO. Oder besser gesagt: Eine eigene Datenbank-Klasse, die PDO erweitert.
Damit machst du ja sowas ähnliches wie Zend_Db mit PDO.
Ein Beispiel, was ich mit "Komfort-Methoden" meine. Sagen wir, ich möchte ein Plugin laden. Das kann ich [auf verschiedene Weisen] laden [...]. Auch wenn das überspitzt ist, lade ich in alle der vorherigen Fälle das gleiche Plugin [...].
Mein Problem hierbei ist, dass ich es an verschiedenen Stellen der Anwendung immer wieder anders machen könnte, sodass es nachher unübersichtlich wird.
Das liegt in deiner Verantwortung als Programmierer. Ob es sinnvoll ist, dass sich das ZF nur auf eine Weise festlegt, wo doch viele Anwender unterschiedliche Wünsche haben können? Selbst wenn es nur eine Methode gäbe, könntest du noch genügend Inkonsistenzen in deine Anwendung einbauen.
Noch schlimmer dürfte es werden, wenn mehrere Entwickler am gleichen Projekt arbeiten.
Ja, aber da wirst du nur mit viel (Kommunikations)aufwand oder strengen Richtlinien alle in die selbe Spur bekommen. Auch hier musst du die Balance zwischen Konsistenz und zu vielen Einschränkung finden.
Lo!