[{"data":1,"prerenderedAt":111},["ShallowReactive",2],{"page-\u002Fv1\u002Fadapters\u002Fsymfony\u002Ftooling":3},{"id":4,"title":5,"body":6,"description":103,"extension":104,"meta":105,"navigation":106,"path":107,"seo":108,"stem":109,"__hash__":110},"content\u002Fv1\u002Fadapters\u002Fsymfony\u002Ftooling.md","Symfony tooling",{"type":7,"value":8,"toc":98},"minimark",[9,13,48,74,79],[10,11,5],"h1",{"id":12},"symfony-tooling",[14,15,16],"blockquote",{},[17,18,19,23,24,27,28,31,34,35,42,43],"p",{},[20,21,22],"strong",{},"Host:"," Symfony ",[20,25,26],{},"8.1.x"," (PHP ≥ 8.4) · Researched 2026-08",[29,30],"br",{},[20,32,33],{},"One-shot:"," ",[36,37,39],"a",{"href":38},"\u002Fapply\u002Fsymfony.full.md",[40,41,38],"code",{}," · Short: ",[36,44,46],{"href":45},"\u002Fsymfony",[40,47,45],{},[49,50,51,55,58,61,68],"ul",{},[52,53,54],"li",{},"PHP-CS-Fixer \u002F Symfony Coding Standards",[52,56,57],{},"PHPUnit or Pest",[52,59,60],{},"PHPStan",[52,62,63,64,67],{},"Optional ",[20,65,66],{},"Deptrac"," \u002F Arkitect for layer rules (Domain ↛ Doctrine, etc.)",[52,69,70,73],{},[40,71,72],{},"bin\u002Fconsole"," for wiring — not for Domain logic",[75,76,78],"h2",{"id":77},"related","Related",[49,80,81,87],{},[52,82,83],{},[36,84,86],{"href":85},"\u002Fv1\u002Fadapters\u002Fsymfony","Symfony adapter overview",[52,88,89,93,94],{},[36,90,92],{"href":91},"\u002Fv1\u002Fcore","Core"," · ",[36,95,97],{"href":96},"\u002Fv1\u002Fadopt\u002Fapply","Apply index",{"title":99,"searchDepth":100,"depth":100,"links":101},"",2,[102],{"id":77,"depth":100,"text":78},"Tests, static analysis, and generators for Symfony.","md",{},true,"\u002Fv1\u002Fadapters\u002Fsymfony\u002Ftooling",{"title":5,"description":103},"v1\u002Fadapters\u002Fsymfony\u002Ftooling","ikudp9eu7tiR1NIHYX0Z5XTcTW7hOMwZQYfltpbkYuA",1786241414412]