SymfonyLive Berlin 2017
26. – 27. Oktober 2017 • Berlin (Deutschland)
Protecting your API: The Past, The Present & The Future
Building a secure API is one of the most common requirements in the market nowadays. Yet there are many strategies with their strengths and fallbacks, some simple, some complex. Let’s together walk through the existing strategies and take a look at a solution, that could, potentially, end this discussion once and for all.
Lessons Learned After 10 Years of Testing
Back when I was learning about how to test PHP code, I had to walk both ways uphill in the snow to get the information I needed. Over the past 10 years (has it really been that long?!?) I’ve learned a lot about not just testing but about code and people. In this talk I want to share what I wished I knew 10 years ago so you don’t have to suffer like I did
Caching in Symfonyanwendungen - Ein Überblick
Seit Version 3.1 hat Symfony eine eigene Cache-Komponente, die später um Tags und den Simple Cache erweitert wurde. In meinem Talk möchte ich die zugehörigen PSR-Standard kurz vorstellen und praxisnah zeigen, die Cache-Komponente vorstellen. Zusätzlich möchte ich das bereits etablierte HTTP-Caching vorstellen.
Eine gemeinsame Sprache, die sowohl von den technischen, als auch von nicht-technischen Stakeholdern verstanden wird, ist unverzichtbar für die effektive Kommunikation in einem Software Projekt. Wenn man Ansätze aus dem Domain Driven Design und Test Driven Development kombiniert, kann diese "Ubiquitous Language" nicht nur im Businesscode, sondern auch in den Tests zur Anwendung kommen. In diesem Vortrag wird vermittelt, wie man Tests erstellt, die einfach zu schreiben und schnell auszuführen sind, und die zuverlässige Ergebnisse liefern. Das Publikum lernt, wie man eigene, angepasste Assertions implementiert, welche die Ubiquitous Language des Projektes verwenden.
Using Open Source for Fun and Profit
Join me as I chart my journey from daily grind to conference speaker, and look at how you can leverage the power of open source to make real friends, real money, and real happiness.
Sulu: ein CMS auf Basis von Symfony
Es gibt immer mehr CMS, die Symfony Komponenten einbauen oder gleich auf dem kompletten Stack aufbauen. Sulu gehört zu den letzteren und erfreut sich immer grösserer Beliebtheit. Soweit so gut, nur was sind die Vorteile für die Entwickler? Wie können sie das Potential wirklich nutzen? Genau diese Fragen sollten nach diesem Vortrag beantwortet sein. Anhand von Sulu werden die unterschiedlichen Schnittstellen in das Symfony Ökosystem und deren Verwendung erklärt. Im Detail werden wir uns dem Thema Routing, Controllers und Events im Umfeld Symfony und Sulu widmen. Des Weiteren spielt der Service Container inklusive Compiler Pass, welches wohl eines der Hidden Features in Symfony ist, eine grosse Rolle, um das Zusammenspiel reibungslos zu ermöglichen.
Build, provision & deploy in the Cloud with ...
In a continuous integration and continuous delivery context, it is hard to reliably deploy code to an environment. When code commits also imply changes to your stack, it gets even more tricky. In this presentation I'll show you how to build vendor-agnostic cloud images using Packer and how to provision the necessary software dependencies using Ansible, including your Symfony application. Once the image is in place, we'll use Terraform to deploy these images and create loadbalanced computing instances on various cloud environments in a single configuration format.
Volltextsuche in Theorie und Praxis
Von aktuellen Anwendungen wird erwartet, dass sie eine leistungsstarke Volltextsuche zur Verfügung stellen. Doch wie funktioniert Suche überhaupt und wie integriere ich sie in meine Webseite oder Applikation? So schwierig ist das gar nicht und der Vortrag gliedert sich dafür in drei Teile: •Wie Volltextsuche generell funktioniert und was die Unterschiede zu Datenbanken sind. •Wie der Score beziehungsweise die Qualität von Suchresultaten berechnet wird. •Wie Indizierung und Abfrage verschiedener Sprachen, die Suche nach Terms und Phrasen, boolsche Queries, Suggestions, Ngrams und mehr mit Elasticsearch funktionieren. Wir probieren sämtliche Queries live aus und sehen uns an, welche Möglichkeiten dir für deinen Anwendungsfall zur Verfügung stehen.
Monitoring und Metriken im Wunderland
Bei Jimdo sammeln wir jede Menge Metriken über alle Teile unseres Systems. Dabei fallen Daten auf allen Ebenen des Systems an: Infrastruktur, System und Applikation. Wichtig ist, dass alle Entwickler zu jedem Zeitpunkt Einblick in die Echtzeit-Metriken ihrer Services nehmen können. Um das zu garantieren, haben wir uns einige Zeit mit der Integration von Prometheus in unsere Systeme beschäftigt. In unserem Talk werden wir sowohl über den Betrieb von Prometheus als auch über die Integrationen mit dem Rest der Jimdo-Plattform sprechen. Wir werden von Stolpersteinen und Tricks berichten, die wir gelernt haben, sowie einen Einblick in unserer Tool-Landschaft geben.
Symfony Flex ist der neue heiße Scheiß in der Symfony Welt und ändert die Art und Weise wie Anwendungen gebaut werden. Als Entwickler muss ich mich jetzt genauer mit meinen Abhängigkeiten auseinander setzen, kann diese aber auch besser auf meine Anwendung abstimmen. Wir haben Symfony bei dem Schritt in die neue Flex-Epoche begleitet und zeigen Euch an einem konkreten Beispiel wie Anwendungsentwicklung jetzt aussehen kann.
Symfony Dependency Injection in 2017
Die Dependency-Injection-Komponente hat in Symfony 3.3 eine bemerkenswerte Überarbeitung erfahren. Insbesondere die Funktionalitäten Autowiring und Service Discovery über PSR-4 sorgen dafür, dass unsere Service-Konfigurationen auf das wesentliche eingedampft werden können. Ein ehemaliger Autowiring-Skeptiker erklärt, wie er missioniert wurde.
CQRS und Event Sourcing Basics
Moderne Web-Applikationen und Microservices in der Cloud stellen hohe Anforderungen an Entwickler und Systemarchitekten. CQRS und Event Sourcing helfen dabei die Komplexität verteilter Softwaresysteme zu meistern. Der Talk zeigt, wie PHP Entwickler mittels asynchroner Service-Kommunikation, klarer Kontextgrenzen und Domain-Driven Design robuste Applikationen mit einem hohen Business-Value entwickeln können, die skalierbar und leicht erweiterbar sind. Die prooph components bieten dafür die richtigen Werkzeuge und zusammen mit dem Symfony-Framework bilden sie ein perfektes Team.
Praktische Anwendung des Specification Pattern...
Aus Performancegründen ist es beim Einsatz von Doctrine oft notwendig, sich die einzelnen Use Cases der Anwendung näher anzuschauen und darauf optimiertes DQL zu schreiben. Das führt schnell zu großen Repository-Klassen. Oft enthalten sie für bestimmte Details auch duplizierten Code, und so ist schon bald nicht mehr klar, welche Methode eigentlich wofür genau gedacht war. Wenn sich dann noch die Anforderungen mit Auswirkung auf das DQL ändern, geht der Überblick komplett verloren und Business Rules werden nicht mehr konsistent angewendet. Einen möglichen Ausweg bietet das von Eric Evans und Martin Fowler beschriebene ""Specification Pattern"". Anhand von Beispielen aus Praxisprojekten möchte ich zeigen, wie wir durch die Einführung von Specifications den Wildwuchs in Repositories zurückschneiden konnten. Dabei gehe ich auch darauf ein, wie sich Unit Tests für die Specifications schreiben lassen und welche Strategien für das *Eager Loading* zur Verfügung stehen. Darüberhinaus ermöglichen Specifications strukturierte Suchabfragen in DQL auf Basis (komplexer) Formulare. In mandantenfähiger Software oder wiederverwendbaren Bundles helfen über den DI-Container eingesetzte Specifications dabei, das Kernmodell von kunden- und projektspezifischen Belangen freizuhalten.
Haben Sie SymfonyLive Berlin 2017 verpasst?
Besuchen Sie uns auf einer der nächsten Konferenzen!
Amsterdam / Niederlande
27. – 28. November 2025
Die Vorträge sind in Englisch