Skip to content

Worum geht es?

Symfony ist eines der erfolgreichsten PHP-Projekte. Es ist sowohl ein stabiles Full-Stack-Framework als auch eine beliebte Sammlung wiederverwendbarer Komponenten.

Das Projekt ist ausgereift seit der Veröffentlichung von Symfony 2.0 in 2011. Ich kann spüren, dass alles, was wir in den letzten Jahren getan haben, gut zusammenpasst. Neue Low-Level-Komponenten, High-Level-Integrationen mit anderer Software, Tools, die Entwickler*innen helfen, ihre Produktivität zu verbessern. Die Developer Experience hat sich erheblich verbessert, ohne die Flexibilität zu beeinträchtigen. Noch nie hat es so viel Spaß gemacht, Symfony für ein Projekt zu nutzen.

Wenn Du noch nie mit Symfony gearbeitet hast, zeigt Dir dieses Buch Schritt für Schritt die Möglichkeiten des Frameworks und wie es Deine Produktivität beim Bauen einer Anwendung verbessern kann.

Wenn Du bereits Symfony-Entwicklerin bist, solltest Du es neu entdecken. Das Framework hat sich in den letzten Jahren drastisch weiterentwickelt und die Developer Experience hat sich deutlich verbessert. Ich habe das Gefühl, dass viele Symfony-Entwicklerinnen immer noch an alten Gewohnheiten festhalten und es ihnen schwerfällt, die neuen Wege der Anwendungsentwicklung mit Symfony zu gehen. Ich kann einige dieser Gründe verstehen. Das Weiterentwicklungstempo ist atemberaubend. Wenn Entwickler*innen in Vollzeit an einem Projekt arbeiten, haben sie keine Zeit, alles zu verfolgen, was in der Community passiert. Ich kenne das aus erster Hand und ich würde nicht so tun, als ob ich alles selbst verfolgen könnte. Weit gefehlt.

Es geht nicht nur um neue Wege, die Dinge anzugehen, sondern auch um neue Komponenten: HTTP-Client, Mailer, Workflow, Messenger. Sie sind Gamechanger und sollten Deine Sichtweise auf eine Symfony-Anwendung ändern.

Ich halte ein neues Buch auch für notwendig, da sich das Web stark weiterentwickelt hat. Themen wie APIs, SPAs, Containerisierung, Continuous Deployment und viele andere sollten jetzt diskutiert werden.

Ist ein Buch Deine Zeit noch wert, jetzt, wo ein LLM den Code für Dich schreiben kann? Ich habe mir diese Frage gestellt, während ich an dieser Ausgabe gearbeitet habe. Meine Antwort ist ein klares Ja. Ich nutze KI-Werkzeuge jeden Tag, und sie schreiben inzwischen fast meinen gesamten Code; aber sie haben nicht verändert, worauf es ankommt. Du musst immer noch die Architektur Deiner Anwendung verstehen, entscheiden, was gebaut werden soll, den generierten Code überprüfen und erkennen, was auf subtile Weise falsch ist. Du kannst keinen Code überprüfen, den Du nicht verstehst; und Du kannst ein Werkzeug nicht auf eine Architektur ausrichten, die Du Dir nicht vorstellen kannst. Bücher zu lesen ist eine Frage des Urteilsvermögens, nicht der Nostalgie.

Urteilsvermögen braucht Verständnis, und Verständnis ist genau das, was dieses Buch aufbaut: ein vollständiges mentales Modell einer Symfony-Anwendung, vom ersten Commit bis zur Produktion. Mit diesem Modell im Kopf wirst Du beim nächsten Mal, wenn ein LLM einen Controller oder einen Messenger-Handler für Dich generiert, wissen, ob er richtig ist, und warum. Wir werden sogar eines davon innerhalb der Anwendung selbst einsetzen, um Kommentare zu moderieren.

Deine Zeit ist kostbar. Erwarte keine langen Absätze und keine langen Erklärungen zu den Kernkonzepten. Dieses Buch handelt eher von der Reise: Wo soll ich anfangen? Welchen Code soll ich schreiben? Wann? Wie? Ich werde versuchen, etwas Interesse an wichtigen Themen zu wecken und Dich entscheiden zu lassen, ob Du mehr lernen und Deine Kenntnisse weiter vertiefen möchtest.

Ich möchte auch die Inhalte der Symfony-Dokumentation nicht wiederholen. Sie ist ausgezeichnet und ich werde entsprechende Kapitel im Abschnitt "Weiterführendes" am Ende jedes Schrittes verlinken. Betrachte dieses Buch als eine Liste von Hinweisen auf mehr Lernmaterial.

Das Buch beschreibt die Erstellung einer Anwendung, von der Idee bis zum Produktivbetrieb. Wir werden jedoch nicht alles entwickeln, um den Produktivbetrieb vorzubereiten. Das Ergebnis wird nicht perfekt sein, wir nehmen Abkürzungen, verzichten vielleicht auf einige Sonderfälle, Validierungen oder Tests. Best Practices werden nicht immer eingehalten. Wir gehen aber auf fast jeden Aspekt eines modernen Symfony-Projekts ein.

Als ich anfing, an diesem Buch zu arbeiten, war das allererste, was ich tat, die endgültige Anwendung zu programmieren. Ich war beeindruckt von dem Ergebnis und der Schnelligkeit, die ich beim Hinzufügen von Features mit sehr wenig Aufwand beibehalten konnte. Das liegt an der Dokumentation und der Tatsache, dass Symfony weiß, wie man den Weg frei macht. Ich bin sicher, dass Symfony noch in vielerlei Hinsicht verbessert werden kann (und ich habe mir einige Notizen für mögliche Verbesserungen gemacht), aber die Developer Experience ist viel besser als noch vor einigen Jahren. Ich möchte der Welt davon erzählen.

Das Buch ist in Schritte unterteilt und jeder dieser Schritte in weitere Teilschritte. Insgesamt sollten sie schnell zu lesen sein. Was aber noch wichtiger ist, ich möchte Dich einladen, beim Lesen mitzuprogrammieren. Schreibe den Code, teste, committe und optimiere ihn.

Zu guter Letzt, zögere nicht um Hilfe zu bitten, wenn Du nicht weiterkommst. Es kann passieren, dass Du einen Sonderfall antriffst oder einen schwer zu findenden und behebenden Tippfehler in Deinem Code hast. Stelle Fragen – Wir haben eine wunderbare Community auf Slack und Stack Overflow.

Bereit zu programmieren? Viel Spaß!

This work, including the code samples, is licensed under a Creative Commons BY-NC-SA 4.0 license.
TOC
    Version