ENGLISH - Symfony developers should be happy about the amount of publicly available open source libraries they can use for building web applications. In most cases, these libraries can reduce the required development time greatly.
However, when you have to maintain an application with many dependencies to third-party libraries, this can become one of your biggest problems. One issue is that you might want to exchange one library with another one but didn't think of this when integrating it. In another case, the maintainers of a bundle might not have the time to revise all pull-requests and bug tickets you sent them. With only a few tricks you can make these situations less painful!
This talk uses the HTTP client library Guzzle as an example to discuss how you can profit from the great functionality it implements while avoiding vendor lock-in.
---
GERMAN - Bei der Entwicklung von Symfony-Applikationen kann man auf eine Vielzahl bestehender OpenSource Bundles und Libraries zurückgreifen. Dies verkürzt in der Regel die Entwicklungszeit immens, da man nicht bei jedem Projekt "das Rad neuerfinden muss".
Bei der längerfristigen Betreuung einer Applikation, die viele Third-Party-Libraries verwendet, wird allerdings genau dies oft zum Problem. Man möchte evtl. eine Komponente austauschen, hat dies allerdings bei der Integration nicht bedacht oder der Maintainer einer Library kann nicht die Zeit aufbringen die notwendig wäre, alle Pull-Requests und Bug-Tickets zu bearbeiten. Diese Situation lässt sich mit ein paar Tricks deutlich weniger schmerzhaft gestalten.
Dieser Vortrag erklärt am Beispiel der HTTP-Client-Library Guzzle, wie man die Abhängigkeiten zu konkreten Libraries und Bundles gering hält und dabei trotzdem von ihnen profitieren kann.
Rate this talk: https://joind.in/9418
30. I I I ) E I G E N E S I N T E G R AT I O N S - B U N D L E
AppBundle
Application
Controller
Search
<<interface>>
SearchClient
GuzzleClient
GuzzleSearchClient
GuzzleSearchBundle