[{"data":1,"prerenderedAt":170},["ShallowReactive",2],{"page-\u002Fv1\u002Fadapters\u002Fmezzio\u002Fcomposition-root":3},{"id":4,"title":5,"body":6,"description":162,"extension":163,"meta":164,"navigation":165,"path":166,"seo":167,"stem":168,"__hash__":169},"content\u002Fv1\u002Fadapters\u002Fmezzio\u002Fcomposition-root.md","Mezzio composition root",{"type":7,"value":8,"toc":159},"minimark",[9,13,48,55,126,129,134,155],[10,11,5],"h1",{"id":12},"mezzio-composition-root",[14,15,16],"blockquote",{},[17,18,19,23,24,27,28,31,34,35,42,43],"p",{},[20,21,22],"strong",{},"Host:"," Mezzio ",[20,25,26],{},"3.28.x"," (PHP ≥ 8.2) · Researched 2026-08",[29,30],"br",{},[20,32,33],{},"One-shot:"," ",[36,37,39],"a",{"href":38},"\u002Fapply\u002Fmezzio.full.md",[40,41,38],"code",{}," · Short: ",[36,44,46],{"href":45},"\u002Fmezzio",[40,47,45],{},[17,49,50,51,54],{},"Each module can ship a ",[40,52,53],{},"ConfigProvider"," returning dependencies and routes.",[56,57,62],"pre",{"className":58,"code":59,"language":60,"meta":61,"style":61},"language-php shiki shiki-themes github-light github-dark","public function __invoke(): array\n{\n    return [\n        'dependencies' => [\n            'aliases' => [\n                Port::class => Adapter::class,\n            ],\n        ],\n    ];\n}\n","php","",[40,63,64,72,78,84,90,96,102,108,114,120],{"__ignoreMap":61},[65,66,69],"span",{"class":67,"line":68},"line",1,[65,70,71],{},"public function __invoke(): array\n",[65,73,75],{"class":67,"line":74},2,[65,76,77],{},"{\n",[65,79,81],{"class":67,"line":80},3,[65,82,83],{},"    return [\n",[65,85,87],{"class":67,"line":86},4,[65,88,89],{},"        'dependencies' => [\n",[65,91,93],{"class":67,"line":92},5,[65,94,95],{},"            'aliases' => [\n",[65,97,99],{"class":67,"line":98},6,[65,100,101],{},"                Port::class => Adapter::class,\n",[65,103,105],{"class":67,"line":104},7,[65,106,107],{},"            ],\n",[65,109,111],{"class":67,"line":110},8,[65,112,113],{},"        ],\n",[65,115,117],{"class":67,"line":116},9,[65,118,119],{},"    ];\n",[65,121,123],{"class":67,"line":122},10,[65,124,125],{},"}\n",[17,127,128],{},"Pipeline and routing config stay outside Domain. Container choice (laminas-servicemanager, etc.) is host detail.",[130,131,133],"h2",{"id":132},"related","Related",[135,136,137,144],"ul",{},[138,139,140],"li",{},[36,141,143],{"href":142},"\u002Fv1\u002Fadapters\u002Fmezzio","Mezzio adapter overview",[138,145,146,150,151],{},[36,147,149],{"href":148},"\u002Fv1\u002Fcore","Core"," · ",[36,152,154],{"href":153},"\u002Fv1\u002Fadopt\u002Fapply","Apply index",[156,157,158],"style",{},"html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}",{"title":61,"searchDepth":74,"depth":74,"links":160},[161],{"id":132,"depth":74,"text":133},"DI \u002F wiring only — ConfigProvider + chosen DI container.","md",{},true,"\u002Fv1\u002Fadapters\u002Fmezzio\u002Fcomposition-root",{"title":5,"description":162},"v1\u002Fadapters\u002Fmezzio\u002Fcomposition-root","cRRk5BKrTMQBk1QHGdTn8l8ZxFR_wnNZRT1jd77TCAg",1786241416821]