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.
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ß!