[{"data":1,"prerenderedAt":3415},["ShallowReactive",2],{"docs-nav":3,"doc-latest\u002Fconcepts\u002Fcontainer":691,"docs-prevnext-flat":3095},[4,27,51,653,663,670,683],{"title":5,"order":6,"key":7,"items":8,"packages":26},"Getting Started",1,"getting-started",[9,11,15,19,23],{"path":10,"title":5,"order":6},"\u002Fdocs\u002Flatest\u002Fgetting-started",{"path":12,"title":13,"order":14},"\u002Fdocs\u002Flatest\u002Fgetting-started\u002Finstallation","Installation",3,{"path":16,"title":17,"order":18},"\u002Fdocs\u002Flatest\u002Fgetting-started\u002Fconfiguration","Configuration",4,{"path":20,"title":21,"order":22},"\u002Fdocs\u002Flatest\u002Fgetting-started\u002Fquick-start","Quick Start",50,{"path":24,"title":25,"order":22},"\u002Fdocs\u002Flatest\u002Fgetting-started\u002Ftutorial","Tutorial: Build a Notes Plugin",{},{"title":28,"order":29,"key":30,"items":31,"packages":50},"Core Concepts",2,"concepts",[32,35,38,41,44,47],{"path":33,"title":34,"order":22},"\u002Fdocs\u002Flatest\u002Fconcepts\u002Farchitecture","Architecture Overview",{"path":36,"title":37,"order":22},"\u002Fdocs\u002Flatest\u002Fconcepts\u002Fhooks","Hook System",{"path":39,"title":40,"order":22},"\u002Fdocs\u002Flatest\u002Fconcepts\u002Fplugin-context","Plugin Context",{"path":42,"title":43,"order":22},"\u002Fdocs\u002Flatest\u002Fconcepts\u002Flifecycle","Request Lifecycle",{"path":45,"title":46,"order":22},"\u002Fdocs\u002Flatest\u002Fconcepts\u002Fcontainer","Service Container",{"path":48,"title":49,"order":22},"\u002Fdocs\u002Flatest\u002Fconcepts\u002Fservice-providers","Service Providers",{},{"title":52,"order":14,"key":53,"items":54,"packages":55},"Packages","packages",[],{"wpzylos-assets":56,"wpzylos-cli-core":91,"wpzylos-cli-devtool":114,"wpzylos-config":136,"wpzylos-container":158,"wpzylos-core":180,"wpzylos-database":202,"wpzylos-events":224,"wpzylos-hooks":246,"wpzylos-http":269,"wpzylos-i18n":291,"wpzylos-logger":313,"wpzylos-mail":335,"wpzylos-mcp":357,"wpzylos-migrations":376,"wpzylos-model":398,"wpzylos-notification":420,"wpzylos-queue":442,"wpzylos-requirements":464,"wpzylos-routing":486,"wpzylos-scaffold":514,"wpzylos-scheduler":545,"wpzylos-security":567,"wpzylos-validation":587,"wpzylos-views":609,"wpzylos-wp-cli":631},[57,60,63,65,67,71,75,79,83,87],{"path":58,"title":59,"order":6},"\u002Fdocs\u002Flatest\u002Fpackages\u002Fwpzylos-assets","WPZylos Assets",{"path":61,"title":62,"order":29},"\u002Fdocs\u002Flatest\u002Fpackages\u002Fwpzylos-assets\u002Foverview","Overview",{"path":64,"title":13,"order":14},"\u002Fdocs\u002Flatest\u002Fpackages\u002Fwpzylos-assets\u002Finstallation",{"path":66,"title":17,"order":18},"\u002Fdocs\u002Flatest\u002Fpackages\u002Fwpzylos-assets\u002Fconfiguration",{"path":68,"title":69,"order":70},"\u002Fdocs\u002Flatest\u002Fpackages\u002Fwpzylos-assets\u002Fusage","Usage",5,{"path":72,"title":73,"order":74},"\u002Fdocs\u002Flatest\u002Fpackages\u002Fwpzylos-assets\u002Fapi-reference","API Reference",6,{"path":76,"title":77,"order":78},"\u002Fdocs\u002Flatest\u002Fpackages\u002Fwpzylos-assets\u002Fexamples","Examples",7,{"path":80,"title":81,"order":82},"\u002Fdocs\u002Flatest\u002Fpackages\u002Fwpzylos-assets\u002Ftesting","Testing",8,{"path":84,"title":85,"order":86},"\u002Fdocs\u002Flatest\u002Fpackages\u002Fwpzylos-assets\u002Fsecurity","Security",9,{"path":88,"title":89,"order":90},"\u002Fdocs\u002Flatest\u002Fpackages\u002Fwpzylos-assets\u002Ftroubleshooting","Troubleshooting",10,[92,95,97,99,101,103,105,107,109,112],{"path":93,"title":94,"order":6},"\u002Fdocs\u002Flatest\u002Fpackages\u002Fwpzylos-cli-core","WPZylos CLI Core Documentation",{"path":96,"title":62,"order":29},"\u002Fdocs\u002Flatest\u002Fpackages\u002Fwpzylos-cli-core\u002Foverview",{"path":98,"title":13,"order":14},"\u002Fdocs\u002Flatest\u002Fpackages\u002Fwpzylos-cli-core\u002Finstallation",{"path":100,"title":17,"order":18},"\u002Fdocs\u002Flatest\u002Fpackages\u002Fwpzylos-cli-core\u002Fconfiguration",{"path":102,"title":69,"order":70},"\u002Fdocs\u002Flatest\u002Fpackages\u002Fwpzylos-cli-core\u002Fusage",{"path":104,"title":73,"order":74},"\u002Fdocs\u002Flatest\u002Fpackages\u002Fwpzylos-cli-core\u002Fapi-reference",{"path":106,"title":77,"order":78},"\u002Fdocs\u002Flatest\u002Fpackages\u002Fwpzylos-cli-core\u002Fexamples",{"path":108,"title":81,"order":82},"\u002Fdocs\u002Flatest\u002Fpackages\u002Fwpzylos-cli-core\u002Ftesting",{"path":110,"title":111,"order":86},"\u002Fdocs\u002Flatest\u002Fpackages\u002Fwpzylos-cli-core\u002Fsecurity","Security Notes",{"path":113,"title":89,"order":90},"\u002Fdocs\u002Flatest\u002Fpackages\u002Fwpzylos-cli-core\u002Ftroubleshooting",[115,118,120,122,124,126,128,130,132,134],{"path":116,"title":117,"order":6},"\u002Fdocs\u002Flatest\u002Fpackages\u002Fwpzylos-cli-devtool","WPZylos CLI Devtool Documentation",{"path":119,"title":62,"order":29},"\u002Fdocs\u002Flatest\u002Fpackages\u002Fwpzylos-cli-devtool\u002Foverview",{"path":121,"title":13,"order":14},"\u002Fdocs\u002Flatest\u002Fpackages\u002Fwpzylos-cli-devtool\u002Finstallation",{"path":123,"title":17,"order":18},"\u002Fdocs\u002Flatest\u002Fpackages\u002Fwpzylos-cli-devtool\u002Fconfiguration",{"path":125,"title":69,"order":70},"\u002Fdocs\u002Flatest\u002Fpackages\u002Fwpzylos-cli-devtool\u002Fusage",{"path":127,"title":73,"order":74},"\u002Fdocs\u002Flatest\u002Fpackages\u002Fwpzylos-cli-devtool\u002Fapi-reference",{"path":129,"title":77,"order":78},"\u002Fdocs\u002Flatest\u002Fpackages\u002Fwpzylos-cli-devtool\u002Fexamples",{"path":131,"title":81,"order":82},"\u002Fdocs\u002Flatest\u002Fpackages\u002Fwpzylos-cli-devtool\u002Ftesting",{"path":133,"title":111,"order":86},"\u002Fdocs\u002Flatest\u002Fpackages\u002Fwpzylos-cli-devtool\u002Fsecurity",{"path":135,"title":89,"order":90},"\u002Fdocs\u002Flatest\u002Fpackages\u002Fwpzylos-cli-devtool\u002Ftroubleshooting",[137,140,142,144,146,148,150,152,154,156],{"path":138,"title":139,"order":6},"\u002Fdocs\u002Flatest\u002Fpackages\u002Fwpzylos-config","WPZylos Config",{"path":141,"title":62,"order":29},"\u002Fdocs\u002Flatest\u002Fpackages\u002Fwpzylos-config\u002Foverview",{"path":143,"title":13,"order":14},"\u002Fdocs\u002Flatest\u002Fpackages\u002Fwpzylos-config\u002Finstallation",{"path":145,"title":17,"order":18},"\u002Fdocs\u002Flatest\u002Fpackages\u002Fwpzylos-config\u002Fconfiguration",{"path":147,"title":69,"order":70},"\u002Fdocs\u002Flatest\u002Fpackages\u002Fwpzylos-config\u002Fusage",{"path":149,"title":73,"order":74},"\u002Fdocs\u002Flatest\u002Fpackages\u002Fwpzylos-config\u002Fapi-reference",{"path":151,"title":77,"order":78},"\u002Fdocs\u002Flatest\u002Fpackages\u002Fwpzylos-config\u002Fexamples",{"path":153,"title":81,"order":82},"\u002Fdocs\u002Flatest\u002Fpackages\u002Fwpzylos-config\u002Ftesting",{"path":155,"title":111,"order":86},"\u002Fdocs\u002Flatest\u002Fpackages\u002Fwpzylos-config\u002Fsecurity",{"path":157,"title":89,"order":90},"\u002Fdocs\u002Flatest\u002Fpackages\u002Fwpzylos-config\u002Ftroubleshooting",[159,162,164,166,168,170,172,174,176,178],{"path":160,"title":161,"order":6},"\u002Fdocs\u002Flatest\u002Fpackages\u002Fwpzylos-container","WPZylos Container",{"path":163,"title":62,"order":29},"\u002Fdocs\u002Flatest\u002Fpackages\u002Fwpzylos-container\u002Foverview",{"path":165,"title":13,"order":14},"\u002Fdocs\u002Flatest\u002Fpackages\u002Fwpzylos-container\u002Finstallation",{"path":167,"title":17,"order":18},"\u002Fdocs\u002Flatest\u002Fpackages\u002Fwpzylos-container\u002Fconfiguration",{"path":169,"title":69,"order":70},"\u002Fdocs\u002Flatest\u002Fpackages\u002Fwpzylos-container\u002Fusage",{"path":171,"title":73,"order":74},"\u002Fdocs\u002Flatest\u002Fpackages\u002Fwpzylos-container\u002Fapi-reference",{"path":173,"title":77,"order":78},"\u002Fdocs\u002Flatest\u002Fpackages\u002Fwpzylos-container\u002Fexamples",{"path":175,"title":81,"order":82},"\u002Fdocs\u002Flatest\u002Fpackages\u002Fwpzylos-container\u002Ftesting",{"path":177,"title":111,"order":86},"\u002Fdocs\u002Flatest\u002Fpackages\u002Fwpzylos-container\u002Fsecurity",{"path":179,"title":89,"order":90},"\u002Fdocs\u002Flatest\u002Fpackages\u002Fwpzylos-container\u002Ftroubleshooting",[181,184,186,188,190,192,194,196,198,200],{"path":182,"title":183,"order":6},"\u002Fdocs\u002Flatest\u002Fpackages\u002Fwpzylos-core","WPZylos Core",{"path":185,"title":62,"order":29},"\u002Fdocs\u002Flatest\u002Fpackages\u002Fwpzylos-core\u002Foverview",{"path":187,"title":13,"order":14},"\u002Fdocs\u002Flatest\u002Fpackages\u002Fwpzylos-core\u002Finstallation",{"path":189,"title":17,"order":18},"\u002Fdocs\u002Flatest\u002Fpackages\u002Fwpzylos-core\u002Fconfiguration",{"path":191,"title":69,"order":70},"\u002Fdocs\u002Flatest\u002Fpackages\u002Fwpzylos-core\u002Fusage",{"path":193,"title":73,"order":74},"\u002Fdocs\u002Flatest\u002Fpackages\u002Fwpzylos-core\u002Fapi-reference",{"path":195,"title":77,"order":78},"\u002Fdocs\u002Flatest\u002Fpackages\u002Fwpzylos-core\u002Fexamples",{"path":197,"title":81,"order":82},"\u002Fdocs\u002Flatest\u002Fpackages\u002Fwpzylos-core\u002Ftesting",{"path":199,"title":111,"order":86},"\u002Fdocs\u002Flatest\u002Fpackages\u002Fwpzylos-core\u002Fsecurity",{"path":201,"title":89,"order":90},"\u002Fdocs\u002Flatest\u002Fpackages\u002Fwpzylos-core\u002Ftroubleshooting",[203,206,208,210,212,214,216,218,220,222],{"path":204,"title":205,"order":6},"\u002Fdocs\u002Flatest\u002Fpackages\u002Fwpzylos-database","WPZylos Database",{"path":207,"title":62,"order":29},"\u002Fdocs\u002Flatest\u002Fpackages\u002Fwpzylos-database\u002Foverview",{"path":209,"title":13,"order":14},"\u002Fdocs\u002Flatest\u002Fpackages\u002Fwpzylos-database\u002Finstallation",{"path":211,"title":17,"order":18},"\u002Fdocs\u002Flatest\u002Fpackages\u002Fwpzylos-database\u002Fconfiguration",{"path":213,"title":69,"order":70},"\u002Fdocs\u002Flatest\u002Fpackages\u002Fwpzylos-database\u002Fusage",{"path":215,"title":73,"order":74},"\u002Fdocs\u002Flatest\u002Fpackages\u002Fwpzylos-database\u002Fapi-reference",{"path":217,"title":77,"order":78},"\u002Fdocs\u002Flatest\u002Fpackages\u002Fwpzylos-database\u002Fexamples",{"path":219,"title":81,"order":82},"\u002Fdocs\u002Flatest\u002Fpackages\u002Fwpzylos-database\u002Ftesting",{"path":221,"title":111,"order":86},"\u002Fdocs\u002Flatest\u002Fpackages\u002Fwpzylos-database\u002Fsecurity",{"path":223,"title":89,"order":90},"\u002Fdocs\u002Flatest\u002Fpackages\u002Fwpzylos-database\u002Ftroubleshooting",[225,228,230,232,234,236,238,240,242,244],{"path":226,"title":227,"order":6},"\u002Fdocs\u002Flatest\u002Fpackages\u002Fwpzylos-events","WPZylos Events",{"path":229,"title":62,"order":29},"\u002Fdocs\u002Flatest\u002Fpackages\u002Fwpzylos-events\u002Foverview",{"path":231,"title":13,"order":14},"\u002Fdocs\u002Flatest\u002Fpackages\u002Fwpzylos-events\u002Finstallation",{"path":233,"title":17,"order":18},"\u002Fdocs\u002Flatest\u002Fpackages\u002Fwpzylos-events\u002Fconfiguration",{"path":235,"title":69,"order":70},"\u002Fdocs\u002Flatest\u002Fpackages\u002Fwpzylos-events\u002Fusage",{"path":237,"title":73,"order":74},"\u002Fdocs\u002Flatest\u002Fpackages\u002Fwpzylos-events\u002Fapi-reference",{"path":239,"title":77,"order":78},"\u002Fdocs\u002Flatest\u002Fpackages\u002Fwpzylos-events\u002Fexamples",{"path":241,"title":81,"order":82},"\u002Fdocs\u002Flatest\u002Fpackages\u002Fwpzylos-events\u002Ftesting",{"path":243,"title":85,"order":86},"\u002Fdocs\u002Flatest\u002Fpackages\u002Fwpzylos-events\u002Fsecurity",{"path":245,"title":89,"order":90},"\u002Fdocs\u002Flatest\u002Fpackages\u002Fwpzylos-events\u002Ftroubleshooting",[247,250,252,254,256,259,261,263,265,267],{"path":248,"title":249,"order":6},"\u002Fdocs\u002Flatest\u002Fpackages\u002Fwpzylos-hooks","WPZylos Hooks",{"path":251,"title":62,"order":29},"\u002Fdocs\u002Flatest\u002Fpackages\u002Fwpzylos-hooks\u002Foverview",{"path":253,"title":13,"order":14},"\u002Fdocs\u002Flatest\u002Fpackages\u002Fwpzylos-hooks\u002Finstallation",{"path":255,"title":17,"order":18},"\u002Fdocs\u002Flatest\u002Fpackages\u002Fwpzylos-hooks\u002Fconfiguration",{"path":257,"title":258,"order":70},"\u002Fdocs\u002Flatest\u002Fpackages\u002Fwpzylos-hooks\u002Fusage","Usage Guide",{"path":260,"title":73,"order":74},"\u002Fdocs\u002Flatest\u002Fpackages\u002Fwpzylos-hooks\u002Fapi-reference",{"path":262,"title":77,"order":78},"\u002Fdocs\u002Flatest\u002Fpackages\u002Fwpzylos-hooks\u002Fexamples",{"path":264,"title":81,"order":82},"\u002Fdocs\u002Flatest\u002Fpackages\u002Fwpzylos-hooks\u002Ftesting",{"path":266,"title":111,"order":86},"\u002Fdocs\u002Flatest\u002Fpackages\u002Fwpzylos-hooks\u002Fsecurity",{"path":268,"title":89,"order":90},"\u002Fdocs\u002Flatest\u002Fpackages\u002Fwpzylos-hooks\u002Ftroubleshooting",[270,273,275,277,279,281,283,285,287,289],{"path":271,"title":272,"order":6},"\u002Fdocs\u002Flatest\u002Fpackages\u002Fwpzylos-http","WPZylos HTTP",{"path":274,"title":62,"order":29},"\u002Fdocs\u002Flatest\u002Fpackages\u002Fwpzylos-http\u002Foverview",{"path":276,"title":13,"order":14},"\u002Fdocs\u002Flatest\u002Fpackages\u002Fwpzylos-http\u002Finstallation",{"path":278,"title":17,"order":18},"\u002Fdocs\u002Flatest\u002Fpackages\u002Fwpzylos-http\u002Fconfiguration",{"path":280,"title":258,"order":70},"\u002Fdocs\u002Flatest\u002Fpackages\u002Fwpzylos-http\u002Fusage",{"path":282,"title":73,"order":74},"\u002Fdocs\u002Flatest\u002Fpackages\u002Fwpzylos-http\u002Fapi-reference",{"path":284,"title":77,"order":78},"\u002Fdocs\u002Flatest\u002Fpackages\u002Fwpzylos-http\u002Fexamples",{"path":286,"title":81,"order":82},"\u002Fdocs\u002Flatest\u002Fpackages\u002Fwpzylos-http\u002Ftesting",{"path":288,"title":111,"order":86},"\u002Fdocs\u002Flatest\u002Fpackages\u002Fwpzylos-http\u002Fsecurity",{"path":290,"title":89,"order":90},"\u002Fdocs\u002Flatest\u002Fpackages\u002Fwpzylos-http\u002Ftroubleshooting",[292,295,297,299,301,303,305,307,309,311],{"path":293,"title":294,"order":6},"\u002Fdocs\u002Flatest\u002Fpackages\u002Fwpzylos-i18n","WPZylos I18n",{"path":296,"title":62,"order":29},"\u002Fdocs\u002Flatest\u002Fpackages\u002Fwpzylos-i18n\u002Foverview",{"path":298,"title":13,"order":14},"\u002Fdocs\u002Flatest\u002Fpackages\u002Fwpzylos-i18n\u002Finstallation",{"path":300,"title":17,"order":18},"\u002Fdocs\u002Flatest\u002Fpackages\u002Fwpzylos-i18n\u002Fconfiguration",{"path":302,"title":69,"order":70},"\u002Fdocs\u002Flatest\u002Fpackages\u002Fwpzylos-i18n\u002Fusage",{"path":304,"title":73,"order":74},"\u002Fdocs\u002Flatest\u002Fpackages\u002Fwpzylos-i18n\u002Fapi-reference",{"path":306,"title":77,"order":78},"\u002Fdocs\u002Flatest\u002Fpackages\u002Fwpzylos-i18n\u002Fexamples",{"path":308,"title":81,"order":82},"\u002Fdocs\u002Flatest\u002Fpackages\u002Fwpzylos-i18n\u002Ftesting",{"path":310,"title":111,"order":86},"\u002Fdocs\u002Flatest\u002Fpackages\u002Fwpzylos-i18n\u002Fsecurity",{"path":312,"title":89,"order":90},"\u002Fdocs\u002Flatest\u002Fpackages\u002Fwpzylos-i18n\u002Ftroubleshooting",[314,317,319,321,323,325,327,329,331,333],{"path":315,"title":316,"order":6},"\u002Fdocs\u002Flatest\u002Fpackages\u002Fwpzylos-logger","WPZylos Logger",{"path":318,"title":62,"order":29},"\u002Fdocs\u002Flatest\u002Fpackages\u002Fwpzylos-logger\u002Foverview",{"path":320,"title":13,"order":14},"\u002Fdocs\u002Flatest\u002Fpackages\u002Fwpzylos-logger\u002Finstallation",{"path":322,"title":17,"order":18},"\u002Fdocs\u002Flatest\u002Fpackages\u002Fwpzylos-logger\u002Fconfiguration",{"path":324,"title":69,"order":70},"\u002Fdocs\u002Flatest\u002Fpackages\u002Fwpzylos-logger\u002Fusage",{"path":326,"title":73,"order":74},"\u002Fdocs\u002Flatest\u002Fpackages\u002Fwpzylos-logger\u002Fapi-reference",{"path":328,"title":77,"order":78},"\u002Fdocs\u002Flatest\u002Fpackages\u002Fwpzylos-logger\u002Fexamples",{"path":330,"title":81,"order":82},"\u002Fdocs\u002Flatest\u002Fpackages\u002Fwpzylos-logger\u002Ftesting",{"path":332,"title":111,"order":86},"\u002Fdocs\u002Flatest\u002Fpackages\u002Fwpzylos-logger\u002Fsecurity",{"path":334,"title":89,"order":90},"\u002Fdocs\u002Flatest\u002Fpackages\u002Fwpzylos-logger\u002Ftroubleshooting",[336,339,341,343,345,347,349,351,353,355],{"path":337,"title":338,"order":6},"\u002Fdocs\u002Flatest\u002Fpackages\u002Fwpzylos-mail","WPZylos Mail",{"path":340,"title":62,"order":29},"\u002Fdocs\u002Flatest\u002Fpackages\u002Fwpzylos-mail\u002Foverview",{"path":342,"title":13,"order":14},"\u002Fdocs\u002Flatest\u002Fpackages\u002Fwpzylos-mail\u002Finstallation",{"path":344,"title":17,"order":18},"\u002Fdocs\u002Flatest\u002Fpackages\u002Fwpzylos-mail\u002Fconfiguration",{"path":346,"title":258,"order":70},"\u002Fdocs\u002Flatest\u002Fpackages\u002Fwpzylos-mail\u002Fusage",{"path":348,"title":73,"order":74},"\u002Fdocs\u002Flatest\u002Fpackages\u002Fwpzylos-mail\u002Fapi-reference",{"path":350,"title":77,"order":78},"\u002Fdocs\u002Flatest\u002Fpackages\u002Fwpzylos-mail\u002Fexamples",{"path":352,"title":81,"order":82},"\u002Fdocs\u002Flatest\u002Fpackages\u002Fwpzylos-mail\u002Ftesting",{"path":354,"title":85,"order":86},"\u002Fdocs\u002Flatest\u002Fpackages\u002Fwpzylos-mail\u002Fsecurity",{"path":356,"title":89,"order":90},"\u002Fdocs\u002Flatest\u002Fpackages\u002Fwpzylos-mail\u002Ftroubleshooting",[358,361,363,365,367,369,371,373],{"path":359,"title":360,"order":6},"\u002Fdocs\u002Flatest\u002Fpackages\u002Fwpzylos-mcp","WPZylos MCP",{"path":362,"title":62,"order":29},"\u002Fdocs\u002Flatest\u002Fpackages\u002Fwpzylos-mcp\u002Foverview",{"path":364,"title":13,"order":14},"\u002Fdocs\u002Flatest\u002Fpackages\u002Fwpzylos-mcp\u002Finstallation",{"path":366,"title":258,"order":70},"\u002Fdocs\u002Flatest\u002Fpackages\u002Fwpzylos-mcp\u002Fusage",{"path":368,"title":73,"order":74},"\u002Fdocs\u002Flatest\u002Fpackages\u002Fwpzylos-mcp\u002Fapi-reference",{"path":370,"title":77,"order":78},"\u002Fdocs\u002Flatest\u002Fpackages\u002Fwpzylos-mcp\u002Fexamples",{"path":372,"title":89,"order":90},"\u002Fdocs\u002Flatest\u002Fpackages\u002Fwpzylos-mcp\u002Ftroubleshooting",{"path":374,"title":375,"order":22},"\u002Fdocs\u002Flatest\u002Fpackages\u002Fwpzylos-mcp\u002Fcompanion-mcps","MCP Setup Guide",[377,380,382,384,386,388,390,392,394,396],{"path":378,"title":379,"order":6},"\u002Fdocs\u002Flatest\u002Fpackages\u002Fwpzylos-migrations","WPZylos Migrations",{"path":381,"title":62,"order":29},"\u002Fdocs\u002Flatest\u002Fpackages\u002Fwpzylos-migrations\u002Foverview",{"path":383,"title":13,"order":14},"\u002Fdocs\u002Flatest\u002Fpackages\u002Fwpzylos-migrations\u002Finstallation",{"path":385,"title":17,"order":18},"\u002Fdocs\u002Flatest\u002Fpackages\u002Fwpzylos-migrations\u002Fconfiguration",{"path":387,"title":69,"order":70},"\u002Fdocs\u002Flatest\u002Fpackages\u002Fwpzylos-migrations\u002Fusage",{"path":389,"title":73,"order":74},"\u002Fdocs\u002Flatest\u002Fpackages\u002Fwpzylos-migrations\u002Fapi-reference",{"path":391,"title":77,"order":78},"\u002Fdocs\u002Flatest\u002Fpackages\u002Fwpzylos-migrations\u002Fexamples",{"path":393,"title":81,"order":82},"\u002Fdocs\u002Flatest\u002Fpackages\u002Fwpzylos-migrations\u002Ftesting",{"path":395,"title":111,"order":86},"\u002Fdocs\u002Flatest\u002Fpackages\u002Fwpzylos-migrations\u002Fsecurity",{"path":397,"title":89,"order":90},"\u002Fdocs\u002Flatest\u002Fpackages\u002Fwpzylos-migrations\u002Ftroubleshooting",[399,402,404,406,408,410,412,414,416,418],{"path":400,"title":401,"order":6},"\u002Fdocs\u002Flatest\u002Fpackages\u002Fwpzylos-model","WPZylos Model",{"path":403,"title":62,"order":29},"\u002Fdocs\u002Flatest\u002Fpackages\u002Fwpzylos-model\u002Foverview",{"path":405,"title":13,"order":14},"\u002Fdocs\u002Flatest\u002Fpackages\u002Fwpzylos-model\u002Finstallation",{"path":407,"title":17,"order":18},"\u002Fdocs\u002Flatest\u002Fpackages\u002Fwpzylos-model\u002Fconfiguration",{"path":409,"title":69,"order":70},"\u002Fdocs\u002Flatest\u002Fpackages\u002Fwpzylos-model\u002Fusage",{"path":411,"title":73,"order":74},"\u002Fdocs\u002Flatest\u002Fpackages\u002Fwpzylos-model\u002Fapi-reference",{"path":413,"title":77,"order":78},"\u002Fdocs\u002Flatest\u002Fpackages\u002Fwpzylos-model\u002Fexamples",{"path":415,"title":81,"order":82},"\u002Fdocs\u002Flatest\u002Fpackages\u002Fwpzylos-model\u002Ftesting",{"path":417,"title":85,"order":86},"\u002Fdocs\u002Flatest\u002Fpackages\u002Fwpzylos-model\u002Fsecurity",{"path":419,"title":89,"order":90},"\u002Fdocs\u002Flatest\u002Fpackages\u002Fwpzylos-model\u002Ftroubleshooting",[421,424,426,428,430,432,434,436,438,440],{"path":422,"title":423,"order":6},"\u002Fdocs\u002Flatest\u002Fpackages\u002Fwpzylos-notification","WPZylos Notification",{"path":425,"title":62,"order":29},"\u002Fdocs\u002Flatest\u002Fpackages\u002Fwpzylos-notification\u002Foverview",{"path":427,"title":13,"order":14},"\u002Fdocs\u002Flatest\u002Fpackages\u002Fwpzylos-notification\u002Finstallation",{"path":429,"title":17,"order":18},"\u002Fdocs\u002Flatest\u002Fpackages\u002Fwpzylos-notification\u002Fconfiguration",{"path":431,"title":69,"order":70},"\u002Fdocs\u002Flatest\u002Fpackages\u002Fwpzylos-notification\u002Fusage",{"path":433,"title":73,"order":74},"\u002Fdocs\u002Flatest\u002Fpackages\u002Fwpzylos-notification\u002Fapi-reference",{"path":435,"title":77,"order":78},"\u002Fdocs\u002Flatest\u002Fpackages\u002Fwpzylos-notification\u002Fexamples",{"path":437,"title":81,"order":82},"\u002Fdocs\u002Flatest\u002Fpackages\u002Fwpzylos-notification\u002Ftesting",{"path":439,"title":85,"order":86},"\u002Fdocs\u002Flatest\u002Fpackages\u002Fwpzylos-notification\u002Fsecurity",{"path":441,"title":89,"order":90},"\u002Fdocs\u002Flatest\u002Fpackages\u002Fwpzylos-notification\u002Ftroubleshooting",[443,446,448,450,452,454,456,458,460,462],{"path":444,"title":445,"order":6},"\u002Fdocs\u002Flatest\u002Fpackages\u002Fwpzylos-queue","WPZylos Queue",{"path":447,"title":62,"order":29},"\u002Fdocs\u002Flatest\u002Fpackages\u002Fwpzylos-queue\u002Foverview",{"path":449,"title":13,"order":14},"\u002Fdocs\u002Flatest\u002Fpackages\u002Fwpzylos-queue\u002Finstallation",{"path":451,"title":17,"order":18},"\u002Fdocs\u002Flatest\u002Fpackages\u002Fwpzylos-queue\u002Fconfiguration",{"path":453,"title":69,"order":70},"\u002Fdocs\u002Flatest\u002Fpackages\u002Fwpzylos-queue\u002Fusage",{"path":455,"title":73,"order":74},"\u002Fdocs\u002Flatest\u002Fpackages\u002Fwpzylos-queue\u002Fapi-reference",{"path":457,"title":77,"order":78},"\u002Fdocs\u002Flatest\u002Fpackages\u002Fwpzylos-queue\u002Fexamples",{"path":459,"title":81,"order":82},"\u002Fdocs\u002Flatest\u002Fpackages\u002Fwpzylos-queue\u002Ftesting",{"path":461,"title":85,"order":86},"\u002Fdocs\u002Flatest\u002Fpackages\u002Fwpzylos-queue\u002Fsecurity",{"path":463,"title":89,"order":90},"\u002Fdocs\u002Flatest\u002Fpackages\u002Fwpzylos-queue\u002Ftroubleshooting",[465,468,470,472,474,476,478,480,482,484],{"path":466,"title":467,"order":6},"\u002Fdocs\u002Flatest\u002Fpackages\u002Fwpzylos-requirements","WPZylos Requirements",{"path":469,"title":62,"order":29},"\u002Fdocs\u002Flatest\u002Fpackages\u002Fwpzylos-requirements\u002Foverview",{"path":471,"title":13,"order":14},"\u002Fdocs\u002Flatest\u002Fpackages\u002Fwpzylos-requirements\u002Finstallation",{"path":473,"title":17,"order":18},"\u002Fdocs\u002Flatest\u002Fpackages\u002Fwpzylos-requirements\u002Fconfiguration",{"path":475,"title":69,"order":70},"\u002Fdocs\u002Flatest\u002Fpackages\u002Fwpzylos-requirements\u002Fusage",{"path":477,"title":73,"order":74},"\u002Fdocs\u002Flatest\u002Fpackages\u002Fwpzylos-requirements\u002Fapi-reference",{"path":479,"title":77,"order":78},"\u002Fdocs\u002Flatest\u002Fpackages\u002Fwpzylos-requirements\u002Fexamples",{"path":481,"title":81,"order":82},"\u002Fdocs\u002Flatest\u002Fpackages\u002Fwpzylos-requirements\u002Ftesting",{"path":483,"title":85,"order":86},"\u002Fdocs\u002Flatest\u002Fpackages\u002Fwpzylos-requirements\u002Fsecurity",{"path":485,"title":89,"order":90},"\u002Fdocs\u002Flatest\u002Fpackages\u002Fwpzylos-requirements\u002Ftroubleshooting",[487,490,492,494,496,498,500,502,504,506,508,511],{"path":488,"title":489,"order":6},"\u002Fdocs\u002Flatest\u002Fpackages\u002Fwpzylos-routing","WPZylos Routing",{"path":491,"title":62,"order":29},"\u002Fdocs\u002Flatest\u002Fpackages\u002Fwpzylos-routing\u002Foverview",{"path":493,"title":13,"order":14},"\u002Fdocs\u002Flatest\u002Fpackages\u002Fwpzylos-routing\u002Finstallation",{"path":495,"title":17,"order":18},"\u002Fdocs\u002Flatest\u002Fpackages\u002Fwpzylos-routing\u002Fconfiguration",{"path":497,"title":69,"order":70},"\u002Fdocs\u002Flatest\u002Fpackages\u002Fwpzylos-routing\u002Fusage",{"path":499,"title":73,"order":74},"\u002Fdocs\u002Flatest\u002Fpackages\u002Fwpzylos-routing\u002Fapi-reference",{"path":501,"title":77,"order":78},"\u002Fdocs\u002Flatest\u002Fpackages\u002Fwpzylos-routing\u002Fexamples",{"path":503,"title":81,"order":82},"\u002Fdocs\u002Flatest\u002Fpackages\u002Fwpzylos-routing\u002Ftesting",{"path":505,"title":85,"order":86},"\u002Fdocs\u002Flatest\u002Fpackages\u002Fwpzylos-routing\u002Fsecurity",{"path":507,"title":89,"order":90},"\u002Fdocs\u002Flatest\u002Fpackages\u002Fwpzylos-routing\u002Ftroubleshooting",{"path":509,"title":510,"order":22},"\u002Fdocs\u002Flatest\u002Fpackages\u002Fwpzylos-routing\u002Fajax","AJAX Routing",{"path":512,"title":513,"order":22},"\u002Fdocs\u002Flatest\u002Fpackages\u002Fwpzylos-routing\u002Frest-api","REST API Routing",[515,518,520,522,524,526,528,530,532,535,537,539,542],{"path":516,"title":517,"order":6},"\u002Fdocs\u002Flatest\u002Fpackages\u002Fwpzylos-scaffold","WPZylos Scaffold Documentation",{"path":519,"title":62,"order":29},"\u002Fdocs\u002Flatest\u002Fpackages\u002Fwpzylos-scaffold\u002Foverview",{"path":521,"title":13,"order":14},"\u002Fdocs\u002Flatest\u002Fpackages\u002Fwpzylos-scaffold\u002Finstallation",{"path":523,"title":17,"order":18},"\u002Fdocs\u002Flatest\u002Fpackages\u002Fwpzylos-scaffold\u002Fconfiguration",{"path":525,"title":69,"order":70},"\u002Fdocs\u002Flatest\u002Fpackages\u002Fwpzylos-scaffold\u002Fusage",{"path":527,"title":73,"order":74},"\u002Fdocs\u002Flatest\u002Fpackages\u002Fwpzylos-scaffold\u002Fapi-reference",{"path":529,"title":77,"order":78},"\u002Fdocs\u002Flatest\u002Fpackages\u002Fwpzylos-scaffold\u002Fexamples",{"path":531,"title":81,"order":82},"\u002Fdocs\u002Flatest\u002Fpackages\u002Fwpzylos-scaffold\u002Ftesting",{"path":533,"title":534,"order":82},"\u002Fdocs\u002Flatest\u002Fpackages\u002Fwpzylos-scaffold\u002Fui","UI Components (DaisyUI)",{"path":536,"title":111,"order":86},"\u002Fdocs\u002Flatest\u002Fpackages\u002Fwpzylos-scaffold\u002Fsecurity",{"path":538,"title":89,"order":90},"\u002Fdocs\u002Flatest\u002Fpackages\u002Fwpzylos-scaffold\u002Ftroubleshooting",{"path":540,"title":541,"order":22},"\u002Fdocs\u002Flatest\u002Fpackages\u002Fwpzylos-scaffold\u002Fcli-reference","Scaffold CLI Reference",{"path":543,"title":544,"order":22},"\u002Fdocs\u002Flatest\u002Fpackages\u002Fwpzylos-scaffold\u002Fwalkthrough","Scaffold Walkthrough",[546,549,551,553,555,557,559,561,563,565],{"path":547,"title":548,"order":6},"\u002Fdocs\u002Flatest\u002Fpackages\u002Fwpzylos-scheduler","WPZylos Scheduler",{"path":550,"title":62,"order":29},"\u002Fdocs\u002Flatest\u002Fpackages\u002Fwpzylos-scheduler\u002Foverview",{"path":552,"title":13,"order":14},"\u002Fdocs\u002Flatest\u002Fpackages\u002Fwpzylos-scheduler\u002Finstallation",{"path":554,"title":17,"order":18},"\u002Fdocs\u002Flatest\u002Fpackages\u002Fwpzylos-scheduler\u002Fconfiguration",{"path":556,"title":69,"order":70},"\u002Fdocs\u002Flatest\u002Fpackages\u002Fwpzylos-scheduler\u002Fusage",{"path":558,"title":73,"order":74},"\u002Fdocs\u002Flatest\u002Fpackages\u002Fwpzylos-scheduler\u002Fapi-reference",{"path":560,"title":77,"order":78},"\u002Fdocs\u002Flatest\u002Fpackages\u002Fwpzylos-scheduler\u002Fexamples",{"path":562,"title":81,"order":82},"\u002Fdocs\u002Flatest\u002Fpackages\u002Fwpzylos-scheduler\u002Ftesting",{"path":564,"title":85,"order":86},"\u002Fdocs\u002Flatest\u002Fpackages\u002Fwpzylos-scheduler\u002Fsecurity",{"path":566,"title":89,"order":90},"\u002Fdocs\u002Flatest\u002Fpackages\u002Fwpzylos-scheduler\u002Ftroubleshooting",[568,571,573,575,577,579,581,583,585],{"path":569,"title":570,"order":6},"\u002Fdocs\u002Flatest\u002Fpackages\u002Fwpzylos-security","WPZylos Security",{"path":572,"title":62,"order":29},"\u002Fdocs\u002Flatest\u002Fpackages\u002Fwpzylos-security\u002Foverview",{"path":574,"title":13,"order":14},"\u002Fdocs\u002Flatest\u002Fpackages\u002Fwpzylos-security\u002Finstallation",{"path":576,"title":17,"order":18},"\u002Fdocs\u002Flatest\u002Fpackages\u002Fwpzylos-security\u002Fconfiguration",{"path":578,"title":258,"order":70},"\u002Fdocs\u002Flatest\u002Fpackages\u002Fwpzylos-security\u002Fusage",{"path":580,"title":73,"order":74},"\u002Fdocs\u002Flatest\u002Fpackages\u002Fwpzylos-security\u002Fapi-reference",{"path":582,"title":77,"order":78},"\u002Fdocs\u002Flatest\u002Fpackages\u002Fwpzylos-security\u002Fexamples",{"path":584,"title":81,"order":82},"\u002Fdocs\u002Flatest\u002Fpackages\u002Fwpzylos-security\u002Ftesting",{"path":586,"title":89,"order":90},"\u002Fdocs\u002Flatest\u002Fpackages\u002Fwpzylos-security\u002Ftroubleshooting",[588,591,593,595,597,599,601,603,605,607],{"path":589,"title":590,"order":6},"\u002Fdocs\u002Flatest\u002Fpackages\u002Fwpzylos-validation","WPZylos Validation",{"path":592,"title":62,"order":29},"\u002Fdocs\u002Flatest\u002Fpackages\u002Fwpzylos-validation\u002Foverview",{"path":594,"title":13,"order":14},"\u002Fdocs\u002Flatest\u002Fpackages\u002Fwpzylos-validation\u002Finstallation",{"path":596,"title":17,"order":18},"\u002Fdocs\u002Flatest\u002Fpackages\u002Fwpzylos-validation\u002Fconfiguration",{"path":598,"title":258,"order":70},"\u002Fdocs\u002Flatest\u002Fpackages\u002Fwpzylos-validation\u002Fusage",{"path":600,"title":73,"order":74},"\u002Fdocs\u002Flatest\u002Fpackages\u002Fwpzylos-validation\u002Fapi-reference",{"path":602,"title":77,"order":78},"\u002Fdocs\u002Flatest\u002Fpackages\u002Fwpzylos-validation\u002Fexamples",{"path":604,"title":81,"order":82},"\u002Fdocs\u002Flatest\u002Fpackages\u002Fwpzylos-validation\u002Ftesting",{"path":606,"title":111,"order":86},"\u002Fdocs\u002Flatest\u002Fpackages\u002Fwpzylos-validation\u002Fsecurity",{"path":608,"title":89,"order":90},"\u002Fdocs\u002Flatest\u002Fpackages\u002Fwpzylos-validation\u002Ftroubleshooting",[610,613,615,617,619,621,623,625,627,629],{"path":611,"title":612,"order":6},"\u002Fdocs\u002Flatest\u002Fpackages\u002Fwpzylos-views","WPZylos Views",{"path":614,"title":62,"order":29},"\u002Fdocs\u002Flatest\u002Fpackages\u002Fwpzylos-views\u002Foverview",{"path":616,"title":13,"order":14},"\u002Fdocs\u002Flatest\u002Fpackages\u002Fwpzylos-views\u002Finstallation",{"path":618,"title":17,"order":18},"\u002Fdocs\u002Flatest\u002Fpackages\u002Fwpzylos-views\u002Fconfiguration",{"path":620,"title":258,"order":70},"\u002Fdocs\u002Flatest\u002Fpackages\u002Fwpzylos-views\u002Fusage",{"path":622,"title":73,"order":74},"\u002Fdocs\u002Flatest\u002Fpackages\u002Fwpzylos-views\u002Fapi-reference",{"path":624,"title":77,"order":78},"\u002Fdocs\u002Flatest\u002Fpackages\u002Fwpzylos-views\u002Fexamples",{"path":626,"title":81,"order":82},"\u002Fdocs\u002Flatest\u002Fpackages\u002Fwpzylos-views\u002Ftesting",{"path":628,"title":111,"order":86},"\u002Fdocs\u002Flatest\u002Fpackages\u002Fwpzylos-views\u002Fsecurity",{"path":630,"title":89,"order":90},"\u002Fdocs\u002Flatest\u002Fpackages\u002Fwpzylos-views\u002Ftroubleshooting",[632,635,637,639,641,643,645,647,649,651],{"path":633,"title":634,"order":6},"\u002Fdocs\u002Flatest\u002Fpackages\u002Fwpzylos-wp-cli","WPZylos WP-CLI",{"path":636,"title":62,"order":29},"\u002Fdocs\u002Flatest\u002Fpackages\u002Fwpzylos-wp-cli\u002Foverview",{"path":638,"title":13,"order":14},"\u002Fdocs\u002Flatest\u002Fpackages\u002Fwpzylos-wp-cli\u002Finstallation",{"path":640,"title":17,"order":18},"\u002Fdocs\u002Flatest\u002Fpackages\u002Fwpzylos-wp-cli\u002Fconfiguration",{"path":642,"title":69,"order":70},"\u002Fdocs\u002Flatest\u002Fpackages\u002Fwpzylos-wp-cli\u002Fusage",{"path":644,"title":73,"order":74},"\u002Fdocs\u002Flatest\u002Fpackages\u002Fwpzylos-wp-cli\u002Fapi-reference",{"path":646,"title":77,"order":78},"\u002Fdocs\u002Flatest\u002Fpackages\u002Fwpzylos-wp-cli\u002Fexamples",{"path":648,"title":81,"order":82},"\u002Fdocs\u002Flatest\u002Fpackages\u002Fwpzylos-wp-cli\u002Ftesting",{"path":650,"title":111,"order":86},"\u002Fdocs\u002Flatest\u002Fpackages\u002Fwpzylos-wp-cli\u002Fsecurity",{"path":652,"title":89,"order":90},"\u002Fdocs\u002Flatest\u002Fpackages\u002Fwpzylos-wp-cli\u002Ftroubleshooting",{"title":654,"order":18,"key":655,"items":656,"packages":662},"Scaffold","scaffold",[657,660],{"path":658,"title":659,"order":6},"\u002Fdocs\u002Flatest\u002Fscaffold","Scaffold Guide",{"path":661,"title":544,"order":22},"\u002Fdocs\u002Flatest\u002Fscaffold\u002Fwalkthrough",{},{"title":85,"order":70,"key":664,"items":665,"packages":669},"security",[666],{"path":667,"title":668,"order":29},"\u002Fdocs\u002Flatest\u002Fsecurity\u002Foverview","Security Overview",{},{"title":81,"order":74,"key":671,"items":672,"packages":682},"testing",[673,676,679],{"path":674,"title":675,"order":29},"\u002Fdocs\u002Flatest\u002Ftesting\u002Foverview","Testing Overview",{"path":677,"title":678,"order":22},"\u002Fdocs\u002Flatest\u002Ftesting\u002Fintegration-tests","Integration Testing",{"path":680,"title":681,"order":22},"\u002Fdocs\u002Flatest\u002Ftesting\u002Funit-tests","Unit Testing",{},{"title":684,"order":78,"key":685,"items":686,"packages":690},"Distribution","distribution",[687],{"path":688,"title":689,"order":29},"\u002Fdocs\u002Flatest\u002Fdistribution\u002Foverview","Distribution Guide",{},{"id":692,"title":46,"body":693,"description":703,"extension":3090,"meta":3091,"navigation":844,"order":22,"package":30,"path":45,"seo":3092,"stem":3093,"__hash__":3094},"content\u002Fdocs\u002Flatest\u002Fconcepts\u002Fcontainer.md",{"type":694,"value":695,"toc":3052},"minimark",[696,700,704,708,713,716,963,967,970,983,987,991,1026,1030,1151,1155,1244,1248,1251,1352,1356,1367,1453,1457,1461,1576,1580,1622,1626,1655,1659,1769,1773,1776,1779,1874,1877,1891,1895,1898,1996,1998,2009,2013,2019,2086,2089,2092,2095,2287,2291,2295,2302,2327,2333,2376,2380,2385,2483,2488,2591,2595,2600,2605,2619,2622,2626,2630,2674,2678,2768,2772,2824,2826,2829,3030,3034,3048],[697,698,46],"h1",{"id":699},"service-container",[701,702,703],"p",{},"The WPZylos Container is a lightweight PSR-11 compliant dependency injection container designed for multi-plugin isolation.",[705,706,28],"h2",{"id":707},"core-concepts",[709,710,712],"h3",{"id":711},"dependency-injection","Dependency Injection",[701,714,715],{},"Instead of creating dependencies inside classes, inject them:",[717,718,723],"pre",{"className":719,"code":720,"language":721,"meta":722,"style":722},"language-php shiki shiki-themes github-light github-dark","\u002F\u002F Bad: Tight coupling\nclass UserController\n{\n    public function show(): void\n    {\n        $db = new Database();           \u002F\u002F Creates its own dependency\n        $user = $db->find(User::class, 1);\n    }\n}\n\n\u002F\u002F Good: Dependency injection\nclass UserController\n{\n    public function __construct(private Database $db)  \u002F\u002F Injected\n    {\n    }\n\n    public function show(): void\n    {\n        $user = $this->db->find(User::class, 1);\n    }\n}\n","php","",[724,725,726,734,744,750,770,775,796,830,835,840,846,852,859,864,887,892,897,902,917,922,953,958],"code",{"__ignoreMap":722},[727,728,730],"span",{"class":729,"line":6},"line",[727,731,733],{"class":732},"sJ8bj","\u002F\u002F Bad: Tight coupling\n",[727,735,736,740],{"class":729,"line":29},[727,737,739],{"class":738},"szBVR","class",[727,741,743],{"class":742},"sScJk"," UserController\n",[727,745,746],{"class":729,"line":14},[727,747,749],{"class":748},"sVt8B","{\n",[727,751,752,755,758,761,764,767],{"class":729,"line":18},[727,753,754],{"class":738},"    public",[727,756,757],{"class":738}," function",[727,759,760],{"class":742}," show",[727,762,763],{"class":748},"()",[727,765,766],{"class":738},":",[727,768,769],{"class":738}," void\n",[727,771,772],{"class":729,"line":70},[727,773,774],{"class":748},"    {\n",[727,776,777,780,783,786,790,793],{"class":729,"line":74},[727,778,779],{"class":748},"        $db ",[727,781,782],{"class":738},"=",[727,784,785],{"class":738}," new",[727,787,789],{"class":788},"sj4cs"," Database",[727,791,792],{"class":748},"();           ",[727,794,795],{"class":732},"\u002F\u002F Creates its own dependency\n",[727,797,798,801,803,806,809,812,815,818,821,824,827],{"class":729,"line":78},[727,799,800],{"class":748},"        $user ",[727,802,782],{"class":738},[727,804,805],{"class":748}," $db",[727,807,808],{"class":738},"->",[727,810,811],{"class":742},"find",[727,813,814],{"class":748},"(",[727,816,817],{"class":788},"User",[727,819,820],{"class":738},"::class",[727,822,823],{"class":748},", ",[727,825,826],{"class":788},"1",[727,828,829],{"class":748},");\n",[727,831,832],{"class":729,"line":82},[727,833,834],{"class":748},"    }\n",[727,836,837],{"class":729,"line":86},[727,838,839],{"class":748},"}\n",[727,841,842],{"class":729,"line":90},[727,843,845],{"emptyLinePlaceholder":844},true,"\n",[727,847,849],{"class":729,"line":848},11,[727,850,851],{"class":732},"\u002F\u002F Good: Dependency injection\n",[727,853,855,857],{"class":729,"line":854},12,[727,856,739],{"class":738},[727,858,743],{"class":742},[727,860,862],{"class":729,"line":861},13,[727,863,749],{"class":748},[727,865,867,869,871,874,876,879,881,884],{"class":729,"line":866},14,[727,868,754],{"class":738},[727,870,757],{"class":738},[727,872,873],{"class":788}," __construct",[727,875,814],{"class":748},[727,877,878],{"class":738},"private",[727,880,789],{"class":788},[727,882,883],{"class":748}," $db)  ",[727,885,886],{"class":732},"\u002F\u002F Injected\n",[727,888,890],{"class":729,"line":889},15,[727,891,774],{"class":748},[727,893,895],{"class":729,"line":894},16,[727,896,834],{"class":748},[727,898,900],{"class":729,"line":899},17,[727,901,845],{"emptyLinePlaceholder":844},[727,903,905,907,909,911,913,915],{"class":729,"line":904},18,[727,906,754],{"class":738},[727,908,757],{"class":738},[727,910,760],{"class":742},[727,912,763],{"class":748},[727,914,766],{"class":738},[727,916,769],{"class":738},[727,918,920],{"class":729,"line":919},19,[727,921,774],{"class":748},[727,923,925,927,929,932,934,937,939,941,943,945,947,949,951],{"class":729,"line":924},20,[727,926,800],{"class":748},[727,928,782],{"class":738},[727,930,931],{"class":788}," $this",[727,933,808],{"class":738},[727,935,936],{"class":748},"db",[727,938,808],{"class":738},[727,940,811],{"class":742},[727,942,814],{"class":748},[727,944,817],{"class":788},[727,946,820],{"class":738},[727,948,823],{"class":748},[727,950,826],{"class":788},[727,952,829],{"class":748},[727,954,956],{"class":729,"line":955},21,[727,957,834],{"class":748},[727,959,961],{"class":729,"line":960},22,[727,962,839],{"class":748},[709,964,966],{"id":965},"the-containers-role","The Container's Role",[701,968,969],{},"The container:",[971,972,973,977,980],"ol",{},[974,975,976],"li",{},"Knows how to create services",[974,978,979],{},"Injects dependencies automatically",[974,981,982],{},"Manages service lifecycles (singleton vs factory)",[705,984,986],{"id":985},"basic-usage","Basic Usage",[709,988,990],{"id":989},"creating-a-container","Creating a Container",[717,992,994],{"className":719,"code":993,"language":721,"meta":722,"style":722},"use WPZylos\\Framework\\Container\\Container;\n\n$container = new Container();\n",[724,995,996,1007,1011],{"__ignoreMap":722},[727,997,998,1001,1004],{"class":729,"line":6},[727,999,1000],{"class":738},"use",[727,1002,1003],{"class":788}," WPZylos\\Framework\\Container\\Container",[727,1005,1006],{"class":748},";\n",[727,1008,1009],{"class":729,"line":29},[727,1010,845],{"emptyLinePlaceholder":844},[727,1012,1013,1016,1018,1020,1023],{"class":729,"line":14},[727,1014,1015],{"class":748},"$container ",[727,1017,782],{"class":738},[727,1019,785],{"class":738},[727,1021,1022],{"class":788}," Container",[727,1024,1025],{"class":748},"();\n",[709,1027,1029],{"id":1028},"binding-services","Binding Services",[717,1031,1033],{"className":719,"code":1032,"language":721,"meta":722,"style":722},"\u002F\u002F Simple binding (new instance each time)\n$container->bind(LoggerInterface::class, fn() => new FileLogger('\u002Fpath\u002Fto\u002Flog'));\n\n\u002F\u002F Singleton (same instance every time)\n$container->singleton(Database::class, fn() => new Database($config));\n\n\u002F\u002F Bind interface to implementation\n$container->bind(CacheInterface::class, RedisCache::class);\n",[724,1034,1035,1040,1080,1084,1089,1118,1122,1127],{"__ignoreMap":722},[727,1036,1037],{"class":729,"line":6},[727,1038,1039],{"class":732},"\u002F\u002F Simple binding (new instance each time)\n",[727,1041,1042,1045,1047,1050,1052,1055,1057,1059,1062,1065,1068,1071,1073,1077],{"class":729,"line":29},[727,1043,1044],{"class":748},"$container",[727,1046,808],{"class":738},[727,1048,1049],{"class":742},"bind",[727,1051,814],{"class":748},[727,1053,1054],{"class":788},"LoggerInterface",[727,1056,820],{"class":738},[727,1058,823],{"class":748},[727,1060,1061],{"class":738},"fn",[727,1063,1064],{"class":748},"() => ",[727,1066,1067],{"class":738},"new",[727,1069,1070],{"class":788}," FileLogger",[727,1072,814],{"class":748},[727,1074,1076],{"class":1075},"sZZnC","'\u002Fpath\u002Fto\u002Flog'",[727,1078,1079],{"class":748},"));\n",[727,1081,1082],{"class":729,"line":14},[727,1083,845],{"emptyLinePlaceholder":844},[727,1085,1086],{"class":729,"line":18},[727,1087,1088],{"class":732},"\u002F\u002F Singleton (same instance every time)\n",[727,1090,1091,1093,1095,1098,1100,1103,1105,1107,1109,1111,1113,1115],{"class":729,"line":70},[727,1092,1044],{"class":748},[727,1094,808],{"class":738},[727,1096,1097],{"class":742},"singleton",[727,1099,814],{"class":748},[727,1101,1102],{"class":788},"Database",[727,1104,820],{"class":738},[727,1106,823],{"class":748},[727,1108,1061],{"class":738},[727,1110,1064],{"class":748},[727,1112,1067],{"class":738},[727,1114,789],{"class":788},[727,1116,1117],{"class":748},"($config));\n",[727,1119,1120],{"class":729,"line":74},[727,1121,845],{"emptyLinePlaceholder":844},[727,1123,1124],{"class":729,"line":78},[727,1125,1126],{"class":732},"\u002F\u002F Bind interface to implementation\n",[727,1128,1129,1131,1133,1135,1137,1140,1142,1144,1147,1149],{"class":729,"line":82},[727,1130,1044],{"class":748},[727,1132,808],{"class":738},[727,1134,1049],{"class":742},[727,1136,814],{"class":748},[727,1138,1139],{"class":788},"CacheInterface",[727,1141,820],{"class":738},[727,1143,823],{"class":748},[727,1145,1146],{"class":788},"RedisCache",[727,1148,820],{"class":738},[727,1150,829],{"class":748},[709,1152,1154],{"id":1153},"resolving-services","Resolving Services",[717,1156,1158],{"className":719,"code":1157,"language":721,"meta":722,"style":722},"\u002F\u002F Get a service\n$logger = $container->get(LoggerInterface::class);\n\n\u002F\u002F Check if service exists\nif ($container->has(CacheInterface::class)) {\n    $cache = $container->get(CacheInterface::class);\n}\n",[724,1159,1160,1165,1188,1192,1197,1219,1240],{"__ignoreMap":722},[727,1161,1162],{"class":729,"line":6},[727,1163,1164],{"class":732},"\u002F\u002F Get a service\n",[727,1166,1167,1170,1172,1175,1177,1180,1182,1184,1186],{"class":729,"line":29},[727,1168,1169],{"class":748},"$logger ",[727,1171,782],{"class":738},[727,1173,1174],{"class":748}," $container",[727,1176,808],{"class":738},[727,1178,1179],{"class":742},"get",[727,1181,814],{"class":748},[727,1183,1054],{"class":788},[727,1185,820],{"class":738},[727,1187,829],{"class":748},[727,1189,1190],{"class":729,"line":14},[727,1191,845],{"emptyLinePlaceholder":844},[727,1193,1194],{"class":729,"line":18},[727,1195,1196],{"class":732},"\u002F\u002F Check if service exists\n",[727,1198,1199,1202,1205,1207,1210,1212,1214,1216],{"class":729,"line":70},[727,1200,1201],{"class":738},"if",[727,1203,1204],{"class":748}," ($container",[727,1206,808],{"class":738},[727,1208,1209],{"class":742},"has",[727,1211,814],{"class":748},[727,1213,1139],{"class":788},[727,1215,820],{"class":738},[727,1217,1218],{"class":748},")) {\n",[727,1220,1221,1224,1226,1228,1230,1232,1234,1236,1238],{"class":729,"line":74},[727,1222,1223],{"class":748},"    $cache ",[727,1225,782],{"class":738},[727,1227,1174],{"class":748},[727,1229,808],{"class":738},[727,1231,1179],{"class":742},[727,1233,814],{"class":748},[727,1235,1139],{"class":788},[727,1237,820],{"class":738},[727,1239,829],{"class":748},[727,1241,1242],{"class":729,"line":78},[727,1243,839],{"class":748},[705,1245,1247],{"id":1246},"auto-wiring","Auto-Wiring",[701,1249,1250],{},"The container automatically resolves dependencies using type hints:",[717,1252,1254],{"className":719,"code":1253,"language":721,"meta":722,"style":722},"class OrderService\n{\n    public function __construct(\n        private Database $db,\n        private LoggerInterface $logger,\n        private CacheInterface $cache\n    ) {\n    }\n}\n\n\u002F\u002F Container automatically injects Database, Logger, and Cache\n$service = $container->get(OrderService::class);\n",[724,1255,1256,1263,1267,1278,1288,1298,1308,1313,1317,1321,1325,1330],{"__ignoreMap":722},[727,1257,1258,1260],{"class":729,"line":6},[727,1259,739],{"class":738},[727,1261,1262],{"class":742}," OrderService\n",[727,1264,1265],{"class":729,"line":29},[727,1266,749],{"class":748},[727,1268,1269,1271,1273,1275],{"class":729,"line":14},[727,1270,754],{"class":738},[727,1272,757],{"class":738},[727,1274,873],{"class":788},[727,1276,1277],{"class":748},"(\n",[727,1279,1280,1283,1285],{"class":729,"line":18},[727,1281,1282],{"class":738},"        private",[727,1284,789],{"class":788},[727,1286,1287],{"class":748}," $db,\n",[727,1289,1290,1292,1295],{"class":729,"line":70},[727,1291,1282],{"class":738},[727,1293,1294],{"class":788}," LoggerInterface",[727,1296,1297],{"class":748}," $logger,\n",[727,1299,1300,1302,1305],{"class":729,"line":74},[727,1301,1282],{"class":738},[727,1303,1304],{"class":788}," CacheInterface",[727,1306,1307],{"class":748}," $cache\n",[727,1309,1310],{"class":729,"line":78},[727,1311,1312],{"class":748},"    ) {\n",[727,1314,1315],{"class":729,"line":82},[727,1316,834],{"class":748},[727,1318,1319],{"class":729,"line":86},[727,1320,839],{"class":748},[727,1322,1323],{"class":729,"line":90},[727,1324,845],{"emptyLinePlaceholder":844},[727,1326,1327],{"class":729,"line":848},[727,1328,1329],{"class":732},"\u002F\u002F Container automatically injects Database, Logger, and Cache\n",[727,1331,1332,1335,1337,1339,1341,1343,1345,1348,1350],{"class":729,"line":854},[727,1333,1334],{"class":748},"$service ",[727,1336,782],{"class":738},[727,1338,1174],{"class":748},[727,1340,808],{"class":738},[727,1342,1179],{"class":742},[727,1344,814],{"class":748},[727,1346,1347],{"class":788},"OrderService",[727,1349,820],{"class":738},[727,1351,829],{"class":748},[709,1353,1355],{"id":1354},"how-auto-wiring-works","How Auto-Wiring Works",[971,1357,1358,1361,1364],{},[974,1359,1360],{},"Container inspects constructor parameters",[974,1362,1363],{},"For each parameter, it resolves the type from the container",[974,1365,1366],{},"Creates instance with resolved dependencies",[717,1368,1370],{"className":719,"code":1369,"language":721,"meta":722,"style":722},"\u002F\u002F This happens automatically:\n$db = $container->get(Database::class);\n$logger = $container->get(LoggerInterface::class);\n$cache = $container->get(CacheInterface::class);\n$service = new OrderService($db, $logger, $cache);\n",[724,1371,1372,1377,1398,1418,1439],{"__ignoreMap":722},[727,1373,1374],{"class":729,"line":6},[727,1375,1376],{"class":732},"\u002F\u002F This happens automatically:\n",[727,1378,1379,1382,1384,1386,1388,1390,1392,1394,1396],{"class":729,"line":29},[727,1380,1381],{"class":748},"$db ",[727,1383,782],{"class":738},[727,1385,1174],{"class":748},[727,1387,808],{"class":738},[727,1389,1179],{"class":742},[727,1391,814],{"class":748},[727,1393,1102],{"class":788},[727,1395,820],{"class":738},[727,1397,829],{"class":748},[727,1399,1400,1402,1404,1406,1408,1410,1412,1414,1416],{"class":729,"line":14},[727,1401,1169],{"class":748},[727,1403,782],{"class":738},[727,1405,1174],{"class":748},[727,1407,808],{"class":738},[727,1409,1179],{"class":742},[727,1411,814],{"class":748},[727,1413,1054],{"class":788},[727,1415,820],{"class":738},[727,1417,829],{"class":748},[727,1419,1420,1423,1425,1427,1429,1431,1433,1435,1437],{"class":729,"line":18},[727,1421,1422],{"class":748},"$cache ",[727,1424,782],{"class":738},[727,1426,1174],{"class":748},[727,1428,808],{"class":738},[727,1430,1179],{"class":742},[727,1432,814],{"class":748},[727,1434,1139],{"class":788},[727,1436,820],{"class":738},[727,1438,829],{"class":748},[727,1440,1441,1443,1445,1447,1450],{"class":729,"line":70},[727,1442,1334],{"class":748},[727,1444,782],{"class":738},[727,1446,785],{"class":738},[727,1448,1449],{"class":788}," OrderService",[727,1451,1452],{"class":748},"($db, $logger, $cache);\n",[705,1454,1456],{"id":1455},"binding-patterns","Binding Patterns",[709,1458,1460],{"id":1459},"closure-binding","Closure Binding",[717,1462,1464],{"className":719,"code":1463,"language":721,"meta":722,"style":722},"$container->bind(MailerInterface::class, function (Container $c) {\n    return new SmtpMailer(\n        $c->get(ConfigRepository::class)->get('mail.host'),\n        $c->get(ConfigRepository::class)->get('mail.port')\n    );\n});\n",[724,1465,1466,1495,1507,1538,1566,1571],{"__ignoreMap":722},[727,1467,1468,1470,1472,1474,1476,1479,1481,1483,1486,1489,1492],{"class":729,"line":6},[727,1469,1044],{"class":748},[727,1471,808],{"class":738},[727,1473,1049],{"class":742},[727,1475,814],{"class":748},[727,1477,1478],{"class":788},"MailerInterface",[727,1480,820],{"class":738},[727,1482,823],{"class":748},[727,1484,1485],{"class":738},"function",[727,1487,1488],{"class":748}," (",[727,1490,1491],{"class":788},"Container",[727,1493,1494],{"class":748}," $c) {\n",[727,1496,1497,1500,1502,1505],{"class":729,"line":29},[727,1498,1499],{"class":738},"    return",[727,1501,785],{"class":738},[727,1503,1504],{"class":788}," SmtpMailer",[727,1506,1277],{"class":748},[727,1508,1509,1512,1514,1516,1518,1521,1523,1526,1528,1530,1532,1535],{"class":729,"line":14},[727,1510,1511],{"class":748},"        $c",[727,1513,808],{"class":738},[727,1515,1179],{"class":742},[727,1517,814],{"class":748},[727,1519,1520],{"class":788},"ConfigRepository",[727,1522,820],{"class":738},[727,1524,1525],{"class":748},")",[727,1527,808],{"class":738},[727,1529,1179],{"class":742},[727,1531,814],{"class":748},[727,1533,1534],{"class":1075},"'mail.host'",[727,1536,1537],{"class":748},"),\n",[727,1539,1540,1542,1544,1546,1548,1550,1552,1554,1556,1558,1560,1563],{"class":729,"line":18},[727,1541,1511],{"class":748},[727,1543,808],{"class":738},[727,1545,1179],{"class":742},[727,1547,814],{"class":748},[727,1549,1520],{"class":788},[727,1551,820],{"class":738},[727,1553,1525],{"class":748},[727,1555,808],{"class":738},[727,1557,1179],{"class":742},[727,1559,814],{"class":748},[727,1561,1562],{"class":1075},"'mail.port'",[727,1564,1565],{"class":748},")\n",[727,1567,1568],{"class":729,"line":70},[727,1569,1570],{"class":748},"    );\n",[727,1572,1573],{"class":729,"line":74},[727,1574,1575],{"class":748},"});\n",[709,1577,1579],{"id":1578},"class-binding","Class Binding",[717,1581,1583],{"className":719,"code":1582,"language":721,"meta":722,"style":722},"\u002F\u002F Interface to class\n$container->bind(CacheInterface::class, FileCache::class);\n\n\u002F\u002F Container will auto-wire FileCache's dependencies\n",[724,1584,1585,1590,1613,1617],{"__ignoreMap":722},[727,1586,1587],{"class":729,"line":6},[727,1588,1589],{"class":732},"\u002F\u002F Interface to class\n",[727,1591,1592,1594,1596,1598,1600,1602,1604,1606,1609,1611],{"class":729,"line":29},[727,1593,1044],{"class":748},[727,1595,808],{"class":738},[727,1597,1049],{"class":742},[727,1599,814],{"class":748},[727,1601,1139],{"class":788},[727,1603,820],{"class":738},[727,1605,823],{"class":748},[727,1607,1608],{"class":788},"FileCache",[727,1610,820],{"class":738},[727,1612,829],{"class":748},[727,1614,1615],{"class":729,"line":14},[727,1616,845],{"emptyLinePlaceholder":844},[727,1618,1619],{"class":729,"line":18},[727,1620,1621],{"class":732},"\u002F\u002F Container will auto-wire FileCache's dependencies\n",[709,1623,1625],{"id":1624},"instance-binding","Instance Binding",[717,1627,1629],{"className":719,"code":1628,"language":721,"meta":722,"style":722},"\u002F\u002F Bind an existing instance\n$container->instance(PluginContext::class, $context);\n",[724,1630,1631,1636],{"__ignoreMap":722},[727,1632,1633],{"class":729,"line":6},[727,1634,1635],{"class":732},"\u002F\u002F Bind an existing instance\n",[727,1637,1638,1640,1642,1645,1647,1650,1652],{"class":729,"line":29},[727,1639,1044],{"class":748},[727,1641,808],{"class":738},[727,1643,1644],{"class":742},"instance",[727,1646,814],{"class":748},[727,1648,1649],{"class":788},"PluginContext",[727,1651,820],{"class":738},[727,1653,1654],{"class":748},", $context);\n",[709,1656,1658],{"id":1657},"contextual-binding","Contextual Binding",[717,1660,1662],{"className":719,"code":1661,"language":721,"meta":722,"style":722},"\u002F\u002F Different implementations for different consumers\n$container->when(AdminController::class)\n    ->needs(LoggerInterface::class)\n    ->give(AdminLogger::class);\n\n$container->when(ApiController::class)\n    ->needs(LoggerInterface::class)\n    ->give(ApiLogger::class);\n",[724,1663,1664,1669,1687,1703,1719,1723,1740,1754],{"__ignoreMap":722},[727,1665,1666],{"class":729,"line":6},[727,1667,1668],{"class":732},"\u002F\u002F Different implementations for different consumers\n",[727,1670,1671,1673,1675,1678,1680,1683,1685],{"class":729,"line":29},[727,1672,1044],{"class":748},[727,1674,808],{"class":738},[727,1676,1677],{"class":742},"when",[727,1679,814],{"class":748},[727,1681,1682],{"class":788},"AdminController",[727,1684,820],{"class":738},[727,1686,1565],{"class":748},[727,1688,1689,1692,1695,1697,1699,1701],{"class":729,"line":14},[727,1690,1691],{"class":738},"    ->",[727,1693,1694],{"class":742},"needs",[727,1696,814],{"class":748},[727,1698,1054],{"class":788},[727,1700,820],{"class":738},[727,1702,1565],{"class":748},[727,1704,1705,1707,1710,1712,1715,1717],{"class":729,"line":18},[727,1706,1691],{"class":738},[727,1708,1709],{"class":742},"give",[727,1711,814],{"class":748},[727,1713,1714],{"class":788},"AdminLogger",[727,1716,820],{"class":738},[727,1718,829],{"class":748},[727,1720,1721],{"class":729,"line":70},[727,1722,845],{"emptyLinePlaceholder":844},[727,1724,1725,1727,1729,1731,1733,1736,1738],{"class":729,"line":74},[727,1726,1044],{"class":748},[727,1728,808],{"class":738},[727,1730,1677],{"class":742},[727,1732,814],{"class":748},[727,1734,1735],{"class":788},"ApiController",[727,1737,820],{"class":738},[727,1739,1565],{"class":748},[727,1741,1742,1744,1746,1748,1750,1752],{"class":729,"line":78},[727,1743,1691],{"class":738},[727,1745,1694],{"class":742},[727,1747,814],{"class":748},[727,1749,1054],{"class":788},[727,1751,820],{"class":738},[727,1753,1565],{"class":748},[727,1755,1756,1758,1760,1762,1765,1767],{"class":729,"line":82},[727,1757,1691],{"class":738},[727,1759,1709],{"class":742},[727,1761,814],{"class":748},[727,1763,1764],{"class":788},"ApiLogger",[727,1766,820],{"class":738},[727,1768,829],{"class":748},[705,1770,1772],{"id":1771},"singleton-vs-transient","Singleton vs Transient",[709,1774,1775],{"id":1097},"Singleton",[701,1777,1778],{},"Same instance returned every time:",[717,1780,1782],{"className":719,"code":1781,"language":721,"meta":722,"style":722},"$container->singleton(Database::class, fn() => new Database());\n\n$db1 = $container->get(Database::class);\n$db2 = $container->get(Database::class);\n\n$db1 === $db2; \u002F\u002F true\n",[724,1783,1784,1811,1815,1836,1857,1861],{"__ignoreMap":722},[727,1785,1786,1788,1790,1792,1794,1796,1798,1800,1802,1804,1806,1808],{"class":729,"line":6},[727,1787,1044],{"class":748},[727,1789,808],{"class":738},[727,1791,1097],{"class":742},[727,1793,814],{"class":748},[727,1795,1102],{"class":788},[727,1797,820],{"class":738},[727,1799,823],{"class":748},[727,1801,1061],{"class":738},[727,1803,1064],{"class":748},[727,1805,1067],{"class":738},[727,1807,789],{"class":788},[727,1809,1810],{"class":748},"());\n",[727,1812,1813],{"class":729,"line":29},[727,1814,845],{"emptyLinePlaceholder":844},[727,1816,1817,1820,1822,1824,1826,1828,1830,1832,1834],{"class":729,"line":14},[727,1818,1819],{"class":748},"$db1 ",[727,1821,782],{"class":738},[727,1823,1174],{"class":748},[727,1825,808],{"class":738},[727,1827,1179],{"class":742},[727,1829,814],{"class":748},[727,1831,1102],{"class":788},[727,1833,820],{"class":738},[727,1835,829],{"class":748},[727,1837,1838,1841,1843,1845,1847,1849,1851,1853,1855],{"class":729,"line":18},[727,1839,1840],{"class":748},"$db2 ",[727,1842,782],{"class":738},[727,1844,1174],{"class":748},[727,1846,808],{"class":738},[727,1848,1179],{"class":742},[727,1850,814],{"class":748},[727,1852,1102],{"class":788},[727,1854,820],{"class":738},[727,1856,829],{"class":748},[727,1858,1859],{"class":729,"line":70},[727,1860,845],{"emptyLinePlaceholder":844},[727,1862,1863,1865,1868,1871],{"class":729,"line":74},[727,1864,1819],{"class":748},[727,1866,1867],{"class":738},"===",[727,1869,1870],{"class":748}," $db2; ",[727,1872,1873],{"class":732},"\u002F\u002F true\n",[701,1875,1876],{},"Use for:",[1878,1879,1880,1883,1885,1888],"ul",{},[974,1881,1882],{},"Database connections",[974,1884,17],{},[974,1886,1887],{},"Caches",[974,1889,1890],{},"Stateless services",[709,1892,1894],{"id":1893},"transient-bind","Transient (bind)",[701,1896,1897],{},"New instance every time:",[717,1899,1901],{"className":719,"code":1900,"language":721,"meta":722,"style":722},"$container->bind(Request::class, fn() => Request::capture());\n\n$req1 = $container->get(Request::class);\n$req2 = $container->get(Request::class);\n\n$req1 === $req2; \u002F\u002F false\n",[724,1902,1903,1934,1938,1959,1980,1984],{"__ignoreMap":722},[727,1904,1905,1907,1909,1911,1913,1916,1918,1920,1922,1924,1926,1929,1932],{"class":729,"line":6},[727,1906,1044],{"class":748},[727,1908,808],{"class":738},[727,1910,1049],{"class":742},[727,1912,814],{"class":748},[727,1914,1915],{"class":788},"Request",[727,1917,820],{"class":738},[727,1919,823],{"class":748},[727,1921,1061],{"class":738},[727,1923,1064],{"class":748},[727,1925,1915],{"class":788},[727,1927,1928],{"class":738},"::",[727,1930,1931],{"class":742},"capture",[727,1933,1810],{"class":748},[727,1935,1936],{"class":729,"line":29},[727,1937,845],{"emptyLinePlaceholder":844},[727,1939,1940,1943,1945,1947,1949,1951,1953,1955,1957],{"class":729,"line":14},[727,1941,1942],{"class":748},"$req1 ",[727,1944,782],{"class":738},[727,1946,1174],{"class":748},[727,1948,808],{"class":738},[727,1950,1179],{"class":742},[727,1952,814],{"class":748},[727,1954,1915],{"class":788},[727,1956,820],{"class":738},[727,1958,829],{"class":748},[727,1960,1961,1964,1966,1968,1970,1972,1974,1976,1978],{"class":729,"line":18},[727,1962,1963],{"class":748},"$req2 ",[727,1965,782],{"class":738},[727,1967,1174],{"class":748},[727,1969,808],{"class":738},[727,1971,1179],{"class":742},[727,1973,814],{"class":748},[727,1975,1915],{"class":788},[727,1977,820],{"class":738},[727,1979,829],{"class":748},[727,1981,1982],{"class":729,"line":70},[727,1983,845],{"emptyLinePlaceholder":844},[727,1985,1986,1988,1990,1993],{"class":729,"line":74},[727,1987,1942],{"class":748},[727,1989,1867],{"class":738},[727,1991,1992],{"class":748}," $req2; ",[727,1994,1995],{"class":732},"\u002F\u002F false\n",[701,1997,1876],{},[1878,1999,2000,2003,2006],{},[974,2001,2002],{},"Request\u002FResponse objects",[974,2004,2005],{},"Form builders",[974,2007,2008],{},"Stateful objects",[705,2010,2012],{"id":2011},"psr-11-compliance","PSR-11 Compliance",[701,2014,2015,2016,766],{},"The container implements ",[724,2017,2018],{},"Psr\\Container\\ContainerInterface",[717,2020,2022],{"className":719,"code":2021,"language":721,"meta":722,"style":722},"interface ContainerInterface\n{\n    public function get(string $id): mixed;\n    public function has(string $id): bool;\n}\n",[724,2023,2024,2032,2036,2060,2082],{"__ignoreMap":722},[727,2025,2026,2029],{"class":729,"line":6},[727,2027,2028],{"class":738},"interface",[727,2030,2031],{"class":742}," ContainerInterface\n",[727,2033,2034],{"class":729,"line":29},[727,2035,749],{"class":748},[727,2037,2038,2040,2042,2045,2047,2050,2053,2055,2058],{"class":729,"line":14},[727,2039,754],{"class":738},[727,2041,757],{"class":738},[727,2043,2044],{"class":742}," get",[727,2046,814],{"class":748},[727,2048,2049],{"class":738},"string",[727,2051,2052],{"class":748}," $id)",[727,2054,766],{"class":738},[727,2056,2057],{"class":738}," mixed",[727,2059,1006],{"class":748},[727,2061,2062,2064,2066,2069,2071,2073,2075,2077,2080],{"class":729,"line":18},[727,2063,754],{"class":738},[727,2065,757],{"class":738},[727,2067,2068],{"class":742}," has",[727,2070,814],{"class":748},[727,2072,2049],{"class":738},[727,2074,2052],{"class":748},[727,2076,766],{"class":738},[727,2078,2079],{"class":738}," bool",[727,2081,1006],{"class":748},[727,2083,2084],{"class":729,"line":70},[727,2085,839],{"class":748},[701,2087,2088],{},"This allows interoperability with PSR-11 compatible packages.",[705,2090,49],{"id":2091},"service-providers",[701,2093,2094],{},"Service providers organize bindings:",[717,2096,2098],{"className":719,"code":2097,"language":721,"meta":722,"style":722},"\u003C?php\n\nnamespace Vendor\\MyPlugin\\Providers;\n\nuse WPZylos\\Framework\\Core\\ServiceProvider;\n\nclass DatabaseServiceProvider extends ServiceProvider\n{\n    public function register(): void\n    {\n        $this->container->singleton(Database::class, function () {\n            return new Database([\n                'prefix' => $this->context->prefix(),\n            ]);\n        });\n    }\n\n    public function boot(): void\n    {\n        \u002F\u002F Called after all providers are registered\n    }\n}\n",[724,2099,2100,2108,2112,2122,2126,2135,2139,2152,2156,2171,2175,2202,2214,2237,2242,2247,2251,2255,2270,2274,2279,2283],{"__ignoreMap":722},[727,2101,2102,2105],{"class":729,"line":6},[727,2103,2104],{"class":738},"\u003C?",[727,2106,2107],{"class":788},"php\n",[727,2109,2110],{"class":729,"line":29},[727,2111,845],{"emptyLinePlaceholder":844},[727,2113,2114,2117,2120],{"class":729,"line":14},[727,2115,2116],{"class":738},"namespace",[727,2118,2119],{"class":742}," Vendor\\MyPlugin\\Providers",[727,2121,1006],{"class":748},[727,2123,2124],{"class":729,"line":18},[727,2125,845],{"emptyLinePlaceholder":844},[727,2127,2128,2130,2133],{"class":729,"line":70},[727,2129,1000],{"class":738},[727,2131,2132],{"class":788}," WPZylos\\Framework\\Core\\ServiceProvider",[727,2134,1006],{"class":748},[727,2136,2137],{"class":729,"line":74},[727,2138,845],{"emptyLinePlaceholder":844},[727,2140,2141,2143,2146,2149],{"class":729,"line":78},[727,2142,739],{"class":738},[727,2144,2145],{"class":742}," DatabaseServiceProvider",[727,2147,2148],{"class":738}," extends",[727,2150,2151],{"class":742}," ServiceProvider\n",[727,2153,2154],{"class":729,"line":82},[727,2155,749],{"class":748},[727,2157,2158,2160,2162,2165,2167,2169],{"class":729,"line":86},[727,2159,754],{"class":738},[727,2161,757],{"class":738},[727,2163,2164],{"class":742}," register",[727,2166,763],{"class":748},[727,2168,766],{"class":738},[727,2170,769],{"class":738},[727,2172,2173],{"class":729,"line":90},[727,2174,774],{"class":748},[727,2176,2177,2180,2182,2185,2187,2189,2191,2193,2195,2197,2199],{"class":729,"line":848},[727,2178,2179],{"class":788},"        $this",[727,2181,808],{"class":738},[727,2183,2184],{"class":748},"container",[727,2186,808],{"class":738},[727,2188,1097],{"class":742},[727,2190,814],{"class":748},[727,2192,1102],{"class":788},[727,2194,820],{"class":738},[727,2196,823],{"class":748},[727,2198,1485],{"class":738},[727,2200,2201],{"class":748}," () {\n",[727,2203,2204,2207,2209,2211],{"class":729,"line":854},[727,2205,2206],{"class":738},"            return",[727,2208,785],{"class":738},[727,2210,789],{"class":788},[727,2212,2213],{"class":748},"([\n",[727,2215,2216,2219,2222,2224,2226,2229,2231,2234],{"class":729,"line":861},[727,2217,2218],{"class":1075},"                'prefix'",[727,2220,2221],{"class":738}," =>",[727,2223,931],{"class":788},[727,2225,808],{"class":738},[727,2227,2228],{"class":748},"context",[727,2230,808],{"class":738},[727,2232,2233],{"class":742},"prefix",[727,2235,2236],{"class":748},"(),\n",[727,2238,2239],{"class":729,"line":866},[727,2240,2241],{"class":748},"            ]);\n",[727,2243,2244],{"class":729,"line":889},[727,2245,2246],{"class":748},"        });\n",[727,2248,2249],{"class":729,"line":894},[727,2250,834],{"class":748},[727,2252,2253],{"class":729,"line":899},[727,2254,845],{"emptyLinePlaceholder":844},[727,2256,2257,2259,2261,2264,2266,2268],{"class":729,"line":904},[727,2258,754],{"class":738},[727,2260,757],{"class":738},[727,2262,2263],{"class":742}," boot",[727,2265,763],{"class":748},[727,2267,766],{"class":738},[727,2269,769],{"class":738},[727,2271,2272],{"class":729,"line":919},[727,2273,774],{"class":748},[727,2275,2276],{"class":729,"line":924},[727,2277,2278],{"class":732},"        \u002F\u002F Called after all providers are registered\n",[727,2280,2281],{"class":729,"line":955},[727,2282,834],{"class":748},[727,2284,2285],{"class":729,"line":960},[727,2286,839],{"class":748},[705,2288,2290],{"id":2289},"why-we-did-it-this-way","Why We Did It This Way",[709,2292,2294],{"id":2293},"isolated-containers-not-singletons","Isolated Containers (Not Singletons)",[701,2296,2297,2301],{},[2298,2299,2300],"strong",{},"Problem:"," Traditional PHP frameworks use a singleton container accessible globally. When two plugins use the same framework, they share services.",[717,2303,2305],{"className":719,"code":2304,"language":721,"meta":722,"style":722},"\u002F\u002F Bad: Singleton pattern (shared state)\n$container = Container::getInstance();\n",[724,2306,2307,2312],{"__ignoreMap":722},[727,2308,2309],{"class":729,"line":6},[727,2310,2311],{"class":732},"\u002F\u002F Bad: Singleton pattern (shared state)\n",[727,2313,2314,2316,2318,2320,2322,2325],{"class":729,"line":29},[727,2315,1015],{"class":748},[727,2317,782],{"class":738},[727,2319,1022],{"class":788},[727,2321,1928],{"class":738},[727,2323,2324],{"class":742},"getInstance",[727,2326,1025],{"class":748},[701,2328,2329,2332],{},[2298,2330,2331],{},"Solution:"," Each plugin creates its own Container instance.",[717,2334,2336],{"className":719,"code":2335,"language":721,"meta":722,"style":722},"\u002F\u002F Good: Isolated containers\n$containerA = new Container();  \u002F\u002F Plugin A's services\n$containerB = new Container();  \u002F\u002F Plugin B's services\n",[724,2337,2338,2343,2360],{"__ignoreMap":722},[727,2339,2340],{"class":729,"line":6},[727,2341,2342],{"class":732},"\u002F\u002F Good: Isolated containers\n",[727,2344,2345,2348,2350,2352,2354,2357],{"class":729,"line":29},[727,2346,2347],{"class":748},"$containerA ",[727,2349,782],{"class":738},[727,2351,785],{"class":738},[727,2353,1022],{"class":788},[727,2355,2356],{"class":748},"();  ",[727,2358,2359],{"class":732},"\u002F\u002F Plugin A's services\n",[727,2361,2362,2365,2367,2369,2371,2373],{"class":729,"line":14},[727,2363,2364],{"class":748},"$containerB ",[727,2366,782],{"class":738},[727,2368,785],{"class":738},[727,2370,1022],{"class":788},[727,2372,2356],{"class":748},[727,2374,2375],{"class":732},"\u002F\u002F Plugin B's services\n",[709,2377,2379],{"id":2378},"no-service-locator-pattern","No Service Locator Pattern",[701,2381,2382,2384],{},[2298,2383,2300],{}," Accessing the container from anywhere couples code to the container and hides dependencies.",[717,2386,2388],{"className":719,"code":2387,"language":721,"meta":722,"style":722},"\u002F\u002F Bad: Service locator (hidden dependencies)\nclass UserService\n{\n    public function getUser(int $id): User\n    {\n        $db = Container::get(Database::class);  \u002F\u002F Hidden dependency\n        return $db->find(User::class, $id);\n    }\n}\n",[724,2389,2390,2395,2402,2406,2427,2431,2455,2475,2479],{"__ignoreMap":722},[727,2391,2392],{"class":729,"line":6},[727,2393,2394],{"class":732},"\u002F\u002F Bad: Service locator (hidden dependencies)\n",[727,2396,2397,2399],{"class":729,"line":29},[727,2398,739],{"class":738},[727,2400,2401],{"class":742}," UserService\n",[727,2403,2404],{"class":729,"line":14},[727,2405,749],{"class":748},[727,2407,2408,2410,2412,2415,2417,2420,2422,2424],{"class":729,"line":18},[727,2409,754],{"class":738},[727,2411,757],{"class":738},[727,2413,2414],{"class":742}," getUser",[727,2416,814],{"class":748},[727,2418,2419],{"class":738},"int",[727,2421,2052],{"class":748},[727,2423,766],{"class":738},[727,2425,2426],{"class":788}," User\n",[727,2428,2429],{"class":729,"line":70},[727,2430,774],{"class":748},[727,2432,2433,2435,2437,2439,2441,2443,2445,2447,2449,2452],{"class":729,"line":74},[727,2434,779],{"class":748},[727,2436,782],{"class":738},[727,2438,1022],{"class":788},[727,2440,1928],{"class":738},[727,2442,1179],{"class":742},[727,2444,814],{"class":748},[727,2446,1102],{"class":788},[727,2448,820],{"class":738},[727,2450,2451],{"class":748},");  ",[727,2453,2454],{"class":732},"\u002F\u002F Hidden dependency\n",[727,2456,2457,2460,2462,2464,2466,2468,2470,2472],{"class":729,"line":78},[727,2458,2459],{"class":738},"        return",[727,2461,805],{"class":748},[727,2463,808],{"class":738},[727,2465,811],{"class":742},[727,2467,814],{"class":748},[727,2469,817],{"class":788},[727,2471,820],{"class":738},[727,2473,2474],{"class":748},", $id);\n",[727,2476,2477],{"class":729,"line":82},[727,2478,834],{"class":748},[727,2480,2481],{"class":729,"line":86},[727,2482,839],{"class":748},[701,2484,2485,2487],{},[2298,2486,2331],{}," Always inject dependencies explicitly.",[717,2489,2491],{"className":719,"code":2490,"language":721,"meta":722,"style":722},"\u002F\u002F Good: Explicit dependencies\nclass UserService\n{\n    public function __construct(private Database $db)  \u002F\u002F Visible\n    {\n    }\n\n    public function getUser(int $id): User\n    {\n        return $this->db->find(User::class, $id);\n    }\n}\n",[724,2492,2493,2498,2504,2508,2527,2531,2535,2539,2557,2561,2583,2587],{"__ignoreMap":722},[727,2494,2495],{"class":729,"line":6},[727,2496,2497],{"class":732},"\u002F\u002F Good: Explicit dependencies\n",[727,2499,2500,2502],{"class":729,"line":29},[727,2501,739],{"class":738},[727,2503,2401],{"class":742},[727,2505,2506],{"class":729,"line":14},[727,2507,749],{"class":748},[727,2509,2510,2512,2514,2516,2518,2520,2522,2524],{"class":729,"line":18},[727,2511,754],{"class":738},[727,2513,757],{"class":738},[727,2515,873],{"class":788},[727,2517,814],{"class":748},[727,2519,878],{"class":738},[727,2521,789],{"class":788},[727,2523,883],{"class":748},[727,2525,2526],{"class":732},"\u002F\u002F Visible\n",[727,2528,2529],{"class":729,"line":70},[727,2530,774],{"class":748},[727,2532,2533],{"class":729,"line":74},[727,2534,834],{"class":748},[727,2536,2537],{"class":729,"line":78},[727,2538,845],{"emptyLinePlaceholder":844},[727,2540,2541,2543,2545,2547,2549,2551,2553,2555],{"class":729,"line":82},[727,2542,754],{"class":738},[727,2544,757],{"class":738},[727,2546,2414],{"class":742},[727,2548,814],{"class":748},[727,2550,2419],{"class":738},[727,2552,2052],{"class":748},[727,2554,766],{"class":738},[727,2556,2426],{"class":788},[727,2558,2559],{"class":729,"line":86},[727,2560,774],{"class":748},[727,2562,2563,2565,2567,2569,2571,2573,2575,2577,2579,2581],{"class":729,"line":90},[727,2564,2459],{"class":738},[727,2566,931],{"class":788},[727,2568,808],{"class":738},[727,2570,936],{"class":748},[727,2572,808],{"class":738},[727,2574,811],{"class":742},[727,2576,814],{"class":748},[727,2578,817],{"class":788},[727,2580,820],{"class":738},[727,2582,2474],{"class":748},[727,2584,2585],{"class":729,"line":848},[727,2586,834],{"class":748},[727,2588,2589],{"class":729,"line":854},[727,2590,839],{"class":748},[709,2592,2594],{"id":2593},"lightweight-implementation","Lightweight Implementation",[701,2596,2597,2599],{},[2298,2598,2300],{}," Full-featured containers like Symfony's are powerful but heavy for WordPress plugins.",[701,2601,2602,2604],{},[2298,2603,2331],{}," WPZylos Container focuses on essential features:",[1878,2606,2607,2610,2613,2616],{},[974,2608,2609],{},"Binding and resolving",[974,2611,2612],{},"Auto-wiring",[974,2614,2615],{},"Singletons",[974,2617,2618],{},"PSR-11 compliance",[701,2620,2621],{},"No compiled containers, no YAML configuration, no annotation parsing.",[705,2623,2625],{"id":2624},"advanced-usage","Advanced Usage",[709,2627,2629],{"id":2628},"method-injection","Method Injection",[717,2631,2633],{"className":719,"code":2632,"language":721,"meta":722,"style":722},"$result = $container->call([$controller, 'show'], ['id' => 123]);\n\u002F\u002F Auto-wires method parameters, merges with provided arguments\n",[724,2634,2635,2669],{"__ignoreMap":722},[727,2636,2637,2640,2642,2644,2646,2649,2652,2655,2658,2661,2663,2666],{"class":729,"line":6},[727,2638,2639],{"class":748},"$result ",[727,2641,782],{"class":738},[727,2643,1174],{"class":748},[727,2645,808],{"class":738},[727,2647,2648],{"class":742},"call",[727,2650,2651],{"class":748},"([$controller, ",[727,2653,2654],{"class":1075},"'show'",[727,2656,2657],{"class":748},"], [",[727,2659,2660],{"class":1075},"'id'",[727,2662,2221],{"class":738},[727,2664,2665],{"class":788}," 123",[727,2667,2668],{"class":748},"]);\n",[727,2670,2671],{"class":729,"line":29},[727,2672,2673],{"class":732},"\u002F\u002F Auto-wires method parameters, merges with provided arguments\n",[709,2675,2677],{"id":2676},"tagged-services","Tagged Services",[717,2679,2681],{"className":719,"code":2680,"language":721,"meta":722,"style":722},"$container->bind(WidgetA::class)->tag('widgets');\n$container->bind(WidgetB::class)->tag('widgets');\n\n$widgets = $container->tagged('widgets');\n\u002F\u002F Returns all services tagged with 'widgets'\n",[724,2682,2683,2712,2739,2743,2763],{"__ignoreMap":722},[727,2684,2685,2687,2689,2691,2693,2696,2698,2700,2702,2705,2707,2710],{"class":729,"line":6},[727,2686,1044],{"class":748},[727,2688,808],{"class":738},[727,2690,1049],{"class":742},[727,2692,814],{"class":748},[727,2694,2695],{"class":788},"WidgetA",[727,2697,820],{"class":738},[727,2699,1525],{"class":748},[727,2701,808],{"class":738},[727,2703,2704],{"class":742},"tag",[727,2706,814],{"class":748},[727,2708,2709],{"class":1075},"'widgets'",[727,2711,829],{"class":748},[727,2713,2714,2716,2718,2720,2722,2725,2727,2729,2731,2733,2735,2737],{"class":729,"line":29},[727,2715,1044],{"class":748},[727,2717,808],{"class":738},[727,2719,1049],{"class":742},[727,2721,814],{"class":748},[727,2723,2724],{"class":788},"WidgetB",[727,2726,820],{"class":738},[727,2728,1525],{"class":748},[727,2730,808],{"class":738},[727,2732,2704],{"class":742},[727,2734,814],{"class":748},[727,2736,2709],{"class":1075},[727,2738,829],{"class":748},[727,2740,2741],{"class":729,"line":14},[727,2742,845],{"emptyLinePlaceholder":844},[727,2744,2745,2748,2750,2752,2754,2757,2759,2761],{"class":729,"line":18},[727,2746,2747],{"class":748},"$widgets ",[727,2749,782],{"class":738},[727,2751,1174],{"class":748},[727,2753,808],{"class":738},[727,2755,2756],{"class":742},"tagged",[727,2758,814],{"class":748},[727,2760,2709],{"class":1075},[727,2762,829],{"class":748},[727,2764,2765],{"class":729,"line":70},[727,2766,2767],{"class":732},"\u002F\u002F Returns all services tagged with 'widgets'\n",[709,2769,2771],{"id":2770},"aliases","Aliases",[717,2773,2775],{"className":719,"code":2774,"language":721,"meta":722,"style":722},"$container->alias(Database::class, 'db');\n\n$db = $container->get('db');  \u002F\u002F Same as get(Database::class)\n",[724,2776,2777,2799,2803],{"__ignoreMap":722},[727,2778,2779,2781,2783,2786,2788,2790,2792,2794,2797],{"class":729,"line":6},[727,2780,1044],{"class":748},[727,2782,808],{"class":738},[727,2784,2785],{"class":742},"alias",[727,2787,814],{"class":748},[727,2789,1102],{"class":788},[727,2791,820],{"class":738},[727,2793,823],{"class":748},[727,2795,2796],{"class":1075},"'db'",[727,2798,829],{"class":748},[727,2800,2801],{"class":729,"line":29},[727,2802,845],{"emptyLinePlaceholder":844},[727,2804,2805,2807,2809,2811,2813,2815,2817,2819,2821],{"class":729,"line":14},[727,2806,1381],{"class":748},[727,2808,782],{"class":738},[727,2810,1174],{"class":748},[727,2812,808],{"class":738},[727,2814,1179],{"class":742},[727,2816,814],{"class":748},[727,2818,2796],{"class":1075},[727,2820,2451],{"class":748},[727,2822,2823],{"class":732},"\u002F\u002F Same as get(Database::class)\n",[705,2825,81],{"id":671},[701,2827,2828],{},"Mock the container for unit tests:",[717,2830,2832],{"className":719,"code":2831,"language":721,"meta":722,"style":722},"public function testUserServiceFindsUser(): void\n{\n    $mockDb = $this->createMock(Database::class);\n    $mockDb->method('find')->willReturn(new User(['id' => 1]));\n\n    $container = new Container();\n    $container->instance(Database::class, $mockDb);\n\n    $service = $container->get(UserService::class);\n    $user = $service->getUser(1);\n\n    $this->assertSame(1, $user->id);\n}\n",[724,2833,2834,2850,2854,2876,2918,2922,2935,2953,2957,2979,3000,3004,3026],{"__ignoreMap":722},[727,2835,2836,2839,2841,2844,2846,2848],{"class":729,"line":6},[727,2837,2838],{"class":738},"public",[727,2840,757],{"class":738},[727,2842,2843],{"class":742}," testUserServiceFindsUser",[727,2845,763],{"class":748},[727,2847,766],{"class":738},[727,2849,769],{"class":738},[727,2851,2852],{"class":729,"line":29},[727,2853,749],{"class":748},[727,2855,2856,2859,2861,2863,2865,2868,2870,2872,2874],{"class":729,"line":14},[727,2857,2858],{"class":748},"    $mockDb ",[727,2860,782],{"class":738},[727,2862,931],{"class":788},[727,2864,808],{"class":738},[727,2866,2867],{"class":742},"createMock",[727,2869,814],{"class":748},[727,2871,1102],{"class":788},[727,2873,820],{"class":738},[727,2875,829],{"class":748},[727,2877,2878,2881,2883,2886,2888,2891,2893,2895,2898,2900,2902,2905,2908,2910,2912,2915],{"class":729,"line":18},[727,2879,2880],{"class":748},"    $mockDb",[727,2882,808],{"class":738},[727,2884,2885],{"class":742},"method",[727,2887,814],{"class":748},[727,2889,2890],{"class":1075},"'find'",[727,2892,1525],{"class":748},[727,2894,808],{"class":738},[727,2896,2897],{"class":742},"willReturn",[727,2899,814],{"class":748},[727,2901,1067],{"class":738},[727,2903,2904],{"class":788}," User",[727,2906,2907],{"class":748},"([",[727,2909,2660],{"class":1075},[727,2911,2221],{"class":738},[727,2913,2914],{"class":788}," 1",[727,2916,2917],{"class":748},"]));\n",[727,2919,2920],{"class":729,"line":70},[727,2921,845],{"emptyLinePlaceholder":844},[727,2923,2924,2927,2929,2931,2933],{"class":729,"line":74},[727,2925,2926],{"class":748},"    $container ",[727,2928,782],{"class":738},[727,2930,785],{"class":738},[727,2932,1022],{"class":788},[727,2934,1025],{"class":748},[727,2936,2937,2940,2942,2944,2946,2948,2950],{"class":729,"line":78},[727,2938,2939],{"class":748},"    $container",[727,2941,808],{"class":738},[727,2943,1644],{"class":742},[727,2945,814],{"class":748},[727,2947,1102],{"class":788},[727,2949,820],{"class":738},[727,2951,2952],{"class":748},", $mockDb);\n",[727,2954,2955],{"class":729,"line":82},[727,2956,845],{"emptyLinePlaceholder":844},[727,2958,2959,2962,2964,2966,2968,2970,2972,2975,2977],{"class":729,"line":86},[727,2960,2961],{"class":748},"    $service ",[727,2963,782],{"class":738},[727,2965,1174],{"class":748},[727,2967,808],{"class":738},[727,2969,1179],{"class":742},[727,2971,814],{"class":748},[727,2973,2974],{"class":788},"UserService",[727,2976,820],{"class":738},[727,2978,829],{"class":748},[727,2980,2981,2984,2986,2989,2991,2994,2996,2998],{"class":729,"line":90},[727,2982,2983],{"class":748},"    $user ",[727,2985,782],{"class":738},[727,2987,2988],{"class":748}," $service",[727,2990,808],{"class":738},[727,2992,2993],{"class":742},"getUser",[727,2995,814],{"class":748},[727,2997,826],{"class":788},[727,2999,829],{"class":748},[727,3001,3002],{"class":729,"line":848},[727,3003,845],{"emptyLinePlaceholder":844},[727,3005,3006,3009,3011,3014,3016,3018,3021,3023],{"class":729,"line":854},[727,3007,3008],{"class":788},"    $this",[727,3010,808],{"class":738},[727,3012,3013],{"class":742},"assertSame",[727,3015,814],{"class":748},[727,3017,826],{"class":788},[727,3019,3020],{"class":748},", $user",[727,3022,808],{"class":738},[727,3024,3025],{"class":748},"id);\n",[727,3027,3028],{"class":729,"line":861},[727,3029,839],{"class":748},[705,3031,3033],{"id":3032},"next-steps","Next Steps",[1878,3035,3036,3042],{},[974,3037,3038,3041],{},[3039,3040,49],"a",{"href":2091}," — Organizing container bindings",[974,3043,3044,3047],{},[3039,3045,40],{"href":3046},"plugin-context"," — How context integrates with container",[3049,3050,3051],"style",{},"html pre.shiki code .sJ8bj, html code.shiki .sJ8bj{--shiki-default:#6A737D;--shiki-dark:#6A737D}html pre.shiki code .szBVR, html code.shiki .szBVR{--shiki-default:#D73A49;--shiki-dark:#F97583}html pre.shiki code .sScJk, html code.shiki .sScJk{--shiki-default:#6F42C1;--shiki-dark:#B392F0}html pre.shiki code .sVt8B, html code.shiki .sVt8B{--shiki-default:#24292E;--shiki-dark:#E1E4E8}html pre.shiki code .sj4cs, html code.shiki .sj4cs{--shiki-default:#005CC5;--shiki-dark:#79B8FF}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);}html pre.shiki code .sZZnC, html code.shiki .sZZnC{--shiki-default:#032F62;--shiki-dark:#9ECBFF}",{"title":722,"searchDepth":29,"depth":29,"links":3053},[3054,3058,3063,3066,3072,3076,3077,3078,3083,3088,3089],{"id":707,"depth":29,"text":28,"children":3055},[3056,3057],{"id":711,"depth":14,"text":712},{"id":965,"depth":14,"text":966},{"id":985,"depth":29,"text":986,"children":3059},[3060,3061,3062],{"id":989,"depth":14,"text":990},{"id":1028,"depth":14,"text":1029},{"id":1153,"depth":14,"text":1154},{"id":1246,"depth":29,"text":1247,"children":3064},[3065],{"id":1354,"depth":14,"text":1355},{"id":1455,"depth":29,"text":1456,"children":3067},[3068,3069,3070,3071],{"id":1459,"depth":14,"text":1460},{"id":1578,"depth":14,"text":1579},{"id":1624,"depth":14,"text":1625},{"id":1657,"depth":14,"text":1658},{"id":1771,"depth":29,"text":1772,"children":3073},[3074,3075],{"id":1097,"depth":14,"text":1775},{"id":1893,"depth":14,"text":1894},{"id":2011,"depth":29,"text":2012},{"id":2091,"depth":29,"text":49},{"id":2289,"depth":29,"text":2290,"children":3079},[3080,3081,3082],{"id":2293,"depth":14,"text":2294},{"id":2378,"depth":14,"text":2379},{"id":2593,"depth":14,"text":2594},{"id":2624,"depth":29,"text":2625,"children":3084},[3085,3086,3087],{"id":2628,"depth":14,"text":2629},{"id":2676,"depth":14,"text":2677},{"id":2770,"depth":14,"text":2771},{"id":671,"depth":29,"text":81},{"id":3032,"depth":29,"text":3033},"md",{},{"title":46,"description":703},"docs\u002Flatest\u002Fconcepts\u002Fcontainer","wp9TEwEG7u80YL_3SqjpNJ3rZLu56eme-2ClZWDg_6c",[3096,3097,3098,3099,3100,3101,3102,3103,3104,3105,3106,3107,3109,3110,3111,3112,3113,3114,3115,3116,3117,3118,3120,3121,3122,3123,3124,3125,3126,3127,3128,3129,3131,3132,3133,3134,3135,3136,3137,3138,3139,3140,3142,3143,3144,3145,3146,3147,3148,3149,3150,3151,3153,3154,3155,3156,3157,3158,3159,3160,3161,3162,3164,3165,3166,3167,3168,3169,3170,3171,3172,3173,3175,3176,3177,3178,3179,3180,3181,3182,3183,3184,3186,3187,3188,3189,3190,3191,3192,3193,3194,3195,3197,3198,3199,3200,3201,3202,3203,3204,3205,3206,3208,3209,3210,3211,3212,3213,3214,3215,3216,3217,3219,3220,3221,3222,3223,3224,3225,3226,3227,3228,3230,3231,3232,3233,3234,3235,3236,3237,3238,3239,3241,3242,3243,3244,3245,3246,3247,3248,3249,3250,3252,3253,3254,3255,3256,3257,3258,3259,3261,3262,3263,3264,3265,3266,3267,3268,3269,3270,3272,3273,3274,3275,3276,3277,3278,3279,3280,3281,3283,3284,3285,3286,3287,3288,3289,3290,3291,3292,3294,3295,3296,3297,3298,3299,3300,3301,3302,3303,3305,3306,3307,3308,3309,3310,3311,3312,3313,3314,3316,3317,3318,3319,3320,3321,3322,3323,3324,3325,3326,3327,3329,3330,3331,3332,3333,3334,3335,3336,3337,3338,3339,3340,3341,3343,3344,3345,3346,3347,3348,3349,3350,3351,3352,3354,3355,3356,3357,3358,3359,3360,3361,3362,3364,3365,3366,3367,3368,3369,3370,3371,3372,3373,3375,3376,3377,3378,3379,3380,3381,3382,3383,3384,3386,3387,3388,3389,3390,3391,3392,3393,3394,3395,3396,3397,3398,3399,3400,3401,3402,3407,3411],{"path":10,"title":5,"sectionKey":7,"sectionOrder":6,"itemOrder":6,"packageName":722,"depth":6},{"path":12,"title":13,"sectionKey":7,"sectionOrder":6,"itemOrder":14,"packageName":722,"depth":29},{"path":16,"title":17,"sectionKey":7,"sectionOrder":6,"itemOrder":18,"packageName":722,"depth":29},{"path":20,"title":21,"sectionKey":7,"sectionOrder":6,"itemOrder":22,"packageName":722,"depth":29},{"path":24,"title":25,"sectionKey":7,"sectionOrder":6,"itemOrder":22,"packageName":722,"depth":29},{"path":33,"title":34,"sectionKey":30,"sectionOrder":29,"itemOrder":22,"packageName":722,"depth":29},{"path":36,"title":37,"sectionKey":30,"sectionOrder":29,"itemOrder":22,"packageName":722,"depth":29},{"path":39,"title":40,"sectionKey":30,"sectionOrder":29,"itemOrder":22,"packageName":722,"depth":29},{"path":42,"title":43,"sectionKey":30,"sectionOrder":29,"itemOrder":22,"packageName":722,"depth":29},{"path":45,"title":46,"sectionKey":30,"sectionOrder":29,"itemOrder":22,"packageName":722,"depth":29},{"path":48,"title":49,"sectionKey":30,"sectionOrder":29,"itemOrder":22,"packageName":722,"depth":29},{"path":58,"title":59,"sectionKey":53,"sectionOrder":14,"itemOrder":6,"packageName":3108,"depth":29},"wpzylos-assets",{"path":61,"title":62,"sectionKey":53,"sectionOrder":14,"itemOrder":29,"packageName":3108,"depth":14},{"path":64,"title":13,"sectionKey":53,"sectionOrder":14,"itemOrder":14,"packageName":3108,"depth":14},{"path":66,"title":17,"sectionKey":53,"sectionOrder":14,"itemOrder":18,"packageName":3108,"depth":14},{"path":68,"title":69,"sectionKey":53,"sectionOrder":14,"itemOrder":70,"packageName":3108,"depth":14},{"path":72,"title":73,"sectionKey":53,"sectionOrder":14,"itemOrder":74,"packageName":3108,"depth":14},{"path":76,"title":77,"sectionKey":53,"sectionOrder":14,"itemOrder":78,"packageName":3108,"depth":14},{"path":80,"title":81,"sectionKey":53,"sectionOrder":14,"itemOrder":82,"packageName":3108,"depth":14},{"path":84,"title":85,"sectionKey":53,"sectionOrder":14,"itemOrder":86,"packageName":3108,"depth":14},{"path":88,"title":89,"sectionKey":53,"sectionOrder":14,"itemOrder":90,"packageName":3108,"depth":14},{"path":93,"title":94,"sectionKey":53,"sectionOrder":14,"itemOrder":6,"packageName":3119,"depth":29},"wpzylos-cli-core",{"path":96,"title":62,"sectionKey":53,"sectionOrder":14,"itemOrder":29,"packageName":3119,"depth":14},{"path":98,"title":13,"sectionKey":53,"sectionOrder":14,"itemOrder":14,"packageName":3119,"depth":14},{"path":100,"title":17,"sectionKey":53,"sectionOrder":14,"itemOrder":18,"packageName":3119,"depth":14},{"path":102,"title":69,"sectionKey":53,"sectionOrder":14,"itemOrder":70,"packageName":3119,"depth":14},{"path":104,"title":73,"sectionKey":53,"sectionOrder":14,"itemOrder":74,"packageName":3119,"depth":14},{"path":106,"title":77,"sectionKey":53,"sectionOrder":14,"itemOrder":78,"packageName":3119,"depth":14},{"path":108,"title":81,"sectionKey":53,"sectionOrder":14,"itemOrder":82,"packageName":3119,"depth":14},{"path":110,"title":111,"sectionKey":53,"sectionOrder":14,"itemOrder":86,"packageName":3119,"depth":14},{"path":113,"title":89,"sectionKey":53,"sectionOrder":14,"itemOrder":90,"packageName":3119,"depth":14},{"path":116,"title":117,"sectionKey":53,"sectionOrder":14,"itemOrder":6,"packageName":3130,"depth":29},"wpzylos-cli-devtool",{"path":119,"title":62,"sectionKey":53,"sectionOrder":14,"itemOrder":29,"packageName":3130,"depth":14},{"path":121,"title":13,"sectionKey":53,"sectionOrder":14,"itemOrder":14,"packageName":3130,"depth":14},{"path":123,"title":17,"sectionKey":53,"sectionOrder":14,"itemOrder":18,"packageName":3130,"depth":14},{"path":125,"title":69,"sectionKey":53,"sectionOrder":14,"itemOrder":70,"packageName":3130,"depth":14},{"path":127,"title":73,"sectionKey":53,"sectionOrder":14,"itemOrder":74,"packageName":3130,"depth":14},{"path":129,"title":77,"sectionKey":53,"sectionOrder":14,"itemOrder":78,"packageName":3130,"depth":14},{"path":131,"title":81,"sectionKey":53,"sectionOrder":14,"itemOrder":82,"packageName":3130,"depth":14},{"path":133,"title":111,"sectionKey":53,"sectionOrder":14,"itemOrder":86,"packageName":3130,"depth":14},{"path":135,"title":89,"sectionKey":53,"sectionOrder":14,"itemOrder":90,"packageName":3130,"depth":14},{"path":138,"title":139,"sectionKey":53,"sectionOrder":14,"itemOrder":6,"packageName":3141,"depth":29},"wpzylos-config",{"path":141,"title":62,"sectionKey":53,"sectionOrder":14,"itemOrder":29,"packageName":3141,"depth":14},{"path":143,"title":13,"sectionKey":53,"sectionOrder":14,"itemOrder":14,"packageName":3141,"depth":14},{"path":145,"title":17,"sectionKey":53,"sectionOrder":14,"itemOrder":18,"packageName":3141,"depth":14},{"path":147,"title":69,"sectionKey":53,"sectionOrder":14,"itemOrder":70,"packageName":3141,"depth":14},{"path":149,"title":73,"sectionKey":53,"sectionOrder":14,"itemOrder":74,"packageName":3141,"depth":14},{"path":151,"title":77,"sectionKey":53,"sectionOrder":14,"itemOrder":78,"packageName":3141,"depth":14},{"path":153,"title":81,"sectionKey":53,"sectionOrder":14,"itemOrder":82,"packageName":3141,"depth":14},{"path":155,"title":111,"sectionKey":53,"sectionOrder":14,"itemOrder":86,"packageName":3141,"depth":14},{"path":157,"title":89,"sectionKey":53,"sectionOrder":14,"itemOrder":90,"packageName":3141,"depth":14},{"path":160,"title":161,"sectionKey":53,"sectionOrder":14,"itemOrder":6,"packageName":3152,"depth":29},"wpzylos-container",{"path":163,"title":62,"sectionKey":53,"sectionOrder":14,"itemOrder":29,"packageName":3152,"depth":14},{"path":165,"title":13,"sectionKey":53,"sectionOrder":14,"itemOrder":14,"packageName":3152,"depth":14},{"path":167,"title":17,"sectionKey":53,"sectionOrder":14,"itemOrder":18,"packageName":3152,"depth":14},{"path":169,"title":69,"sectionKey":53,"sectionOrder":14,"itemOrder":70,"packageName":3152,"depth":14},{"path":171,"title":73,"sectionKey":53,"sectionOrder":14,"itemOrder":74,"packageName":3152,"depth":14},{"path":173,"title":77,"sectionKey":53,"sectionOrder":14,"itemOrder":78,"packageName":3152,"depth":14},{"path":175,"title":81,"sectionKey":53,"sectionOrder":14,"itemOrder":82,"packageName":3152,"depth":14},{"path":177,"title":111,"sectionKey":53,"sectionOrder":14,"itemOrder":86,"packageName":3152,"depth":14},{"path":179,"title":89,"sectionKey":53,"sectionOrder":14,"itemOrder":90,"packageName":3152,"depth":14},{"path":182,"title":183,"sectionKey":53,"sectionOrder":14,"itemOrder":6,"packageName":3163,"depth":29},"wpzylos-core",{"path":185,"title":62,"sectionKey":53,"sectionOrder":14,"itemOrder":29,"packageName":3163,"depth":14},{"path":187,"title":13,"sectionKey":53,"sectionOrder":14,"itemOrder":14,"packageName":3163,"depth":14},{"path":189,"title":17,"sectionKey":53,"sectionOrder":14,"itemOrder":18,"packageName":3163,"depth":14},{"path":191,"title":69,"sectionKey":53,"sectionOrder":14,"itemOrder":70,"packageName":3163,"depth":14},{"path":193,"title":73,"sectionKey":53,"sectionOrder":14,"itemOrder":74,"packageName":3163,"depth":14},{"path":195,"title":77,"sectionKey":53,"sectionOrder":14,"itemOrder":78,"packageName":3163,"depth":14},{"path":197,"title":81,"sectionKey":53,"sectionOrder":14,"itemOrder":82,"packageName":3163,"depth":14},{"path":199,"title":111,"sectionKey":53,"sectionOrder":14,"itemOrder":86,"packageName":3163,"depth":14},{"path":201,"title":89,"sectionKey":53,"sectionOrder":14,"itemOrder":90,"packageName":3163,"depth":14},{"path":204,"title":205,"sectionKey":53,"sectionOrder":14,"itemOrder":6,"packageName":3174,"depth":29},"wpzylos-database",{"path":207,"title":62,"sectionKey":53,"sectionOrder":14,"itemOrder":29,"packageName":3174,"depth":14},{"path":209,"title":13,"sectionKey":53,"sectionOrder":14,"itemOrder":14,"packageName":3174,"depth":14},{"path":211,"title":17,"sectionKey":53,"sectionOrder":14,"itemOrder":18,"packageName":3174,"depth":14},{"path":213,"title":69,"sectionKey":53,"sectionOrder":14,"itemOrder":70,"packageName":3174,"depth":14},{"path":215,"title":73,"sectionKey":53,"sectionOrder":14,"itemOrder":74,"packageName":3174,"depth":14},{"path":217,"title":77,"sectionKey":53,"sectionOrder":14,"itemOrder":78,"packageName":3174,"depth":14},{"path":219,"title":81,"sectionKey":53,"sectionOrder":14,"itemOrder":82,"packageName":3174,"depth":14},{"path":221,"title":111,"sectionKey":53,"sectionOrder":14,"itemOrder":86,"packageName":3174,"depth":14},{"path":223,"title":89,"sectionKey":53,"sectionOrder":14,"itemOrder":90,"packageName":3174,"depth":14},{"path":226,"title":227,"sectionKey":53,"sectionOrder":14,"itemOrder":6,"packageName":3185,"depth":29},"wpzylos-events",{"path":229,"title":62,"sectionKey":53,"sectionOrder":14,"itemOrder":29,"packageName":3185,"depth":14},{"path":231,"title":13,"sectionKey":53,"sectionOrder":14,"itemOrder":14,"packageName":3185,"depth":14},{"path":233,"title":17,"sectionKey":53,"sectionOrder":14,"itemOrder":18,"packageName":3185,"depth":14},{"path":235,"title":69,"sectionKey":53,"sectionOrder":14,"itemOrder":70,"packageName":3185,"depth":14},{"path":237,"title":73,"sectionKey":53,"sectionOrder":14,"itemOrder":74,"packageName":3185,"depth":14},{"path":239,"title":77,"sectionKey":53,"sectionOrder":14,"itemOrder":78,"packageName":3185,"depth":14},{"path":241,"title":81,"sectionKey":53,"sectionOrder":14,"itemOrder":82,"packageName":3185,"depth":14},{"path":243,"title":85,"sectionKey":53,"sectionOrder":14,"itemOrder":86,"packageName":3185,"depth":14},{"path":245,"title":89,"sectionKey":53,"sectionOrder":14,"itemOrder":90,"packageName":3185,"depth":14},{"path":248,"title":249,"sectionKey":53,"sectionOrder":14,"itemOrder":6,"packageName":3196,"depth":29},"wpzylos-hooks",{"path":251,"title":62,"sectionKey":53,"sectionOrder":14,"itemOrder":29,"packageName":3196,"depth":14},{"path":253,"title":13,"sectionKey":53,"sectionOrder":14,"itemOrder":14,"packageName":3196,"depth":14},{"path":255,"title":17,"sectionKey":53,"sectionOrder":14,"itemOrder":18,"packageName":3196,"depth":14},{"path":257,"title":258,"sectionKey":53,"sectionOrder":14,"itemOrder":70,"packageName":3196,"depth":14},{"path":260,"title":73,"sectionKey":53,"sectionOrder":14,"itemOrder":74,"packageName":3196,"depth":14},{"path":262,"title":77,"sectionKey":53,"sectionOrder":14,"itemOrder":78,"packageName":3196,"depth":14},{"path":264,"title":81,"sectionKey":53,"sectionOrder":14,"itemOrder":82,"packageName":3196,"depth":14},{"path":266,"title":111,"sectionKey":53,"sectionOrder":14,"itemOrder":86,"packageName":3196,"depth":14},{"path":268,"title":89,"sectionKey":53,"sectionOrder":14,"itemOrder":90,"packageName":3196,"depth":14},{"path":271,"title":272,"sectionKey":53,"sectionOrder":14,"itemOrder":6,"packageName":3207,"depth":29},"wpzylos-http",{"path":274,"title":62,"sectionKey":53,"sectionOrder":14,"itemOrder":29,"packageName":3207,"depth":14},{"path":276,"title":13,"sectionKey":53,"sectionOrder":14,"itemOrder":14,"packageName":3207,"depth":14},{"path":278,"title":17,"sectionKey":53,"sectionOrder":14,"itemOrder":18,"packageName":3207,"depth":14},{"path":280,"title":258,"sectionKey":53,"sectionOrder":14,"itemOrder":70,"packageName":3207,"depth":14},{"path":282,"title":73,"sectionKey":53,"sectionOrder":14,"itemOrder":74,"packageName":3207,"depth":14},{"path":284,"title":77,"sectionKey":53,"sectionOrder":14,"itemOrder":78,"packageName":3207,"depth":14},{"path":286,"title":81,"sectionKey":53,"sectionOrder":14,"itemOrder":82,"packageName":3207,"depth":14},{"path":288,"title":111,"sectionKey":53,"sectionOrder":14,"itemOrder":86,"packageName":3207,"depth":14},{"path":290,"title":89,"sectionKey":53,"sectionOrder":14,"itemOrder":90,"packageName":3207,"depth":14},{"path":293,"title":294,"sectionKey":53,"sectionOrder":14,"itemOrder":6,"packageName":3218,"depth":29},"wpzylos-i18n",{"path":296,"title":62,"sectionKey":53,"sectionOrder":14,"itemOrder":29,"packageName":3218,"depth":14},{"path":298,"title":13,"sectionKey":53,"sectionOrder":14,"itemOrder":14,"packageName":3218,"depth":14},{"path":300,"title":17,"sectionKey":53,"sectionOrder":14,"itemOrder":18,"packageName":3218,"depth":14},{"path":302,"title":69,"sectionKey":53,"sectionOrder":14,"itemOrder":70,"packageName":3218,"depth":14},{"path":304,"title":73,"sectionKey":53,"sectionOrder":14,"itemOrder":74,"packageName":3218,"depth":14},{"path":306,"title":77,"sectionKey":53,"sectionOrder":14,"itemOrder":78,"packageName":3218,"depth":14},{"path":308,"title":81,"sectionKey":53,"sectionOrder":14,"itemOrder":82,"packageName":3218,"depth":14},{"path":310,"title":111,"sectionKey":53,"sectionOrder":14,"itemOrder":86,"packageName":3218,"depth":14},{"path":312,"title":89,"sectionKey":53,"sectionOrder":14,"itemOrder":90,"packageName":3218,"depth":14},{"path":315,"title":316,"sectionKey":53,"sectionOrder":14,"itemOrder":6,"packageName":3229,"depth":29},"wpzylos-logger",{"path":318,"title":62,"sectionKey":53,"sectionOrder":14,"itemOrder":29,"packageName":3229,"depth":14},{"path":320,"title":13,"sectionKey":53,"sectionOrder":14,"itemOrder":14,"packageName":3229,"depth":14},{"path":322,"title":17,"sectionKey":53,"sectionOrder":14,"itemOrder":18,"packageName":3229,"depth":14},{"path":324,"title":69,"sectionKey":53,"sectionOrder":14,"itemOrder":70,"packageName":3229,"depth":14},{"path":326,"title":73,"sectionKey":53,"sectionOrder":14,"itemOrder":74,"packageName":3229,"depth":14},{"path":328,"title":77,"sectionKey":53,"sectionOrder":14,"itemOrder":78,"packageName":3229,"depth":14},{"path":330,"title":81,"sectionKey":53,"sectionOrder":14,"itemOrder":82,"packageName":3229,"depth":14},{"path":332,"title":111,"sectionKey":53,"sectionOrder":14,"itemOrder":86,"packageName":3229,"depth":14},{"path":334,"title":89,"sectionKey":53,"sectionOrder":14,"itemOrder":90,"packageName":3229,"depth":14},{"path":337,"title":338,"sectionKey":53,"sectionOrder":14,"itemOrder":6,"packageName":3240,"depth":29},"wpzylos-mail",{"path":340,"title":62,"sectionKey":53,"sectionOrder":14,"itemOrder":29,"packageName":3240,"depth":14},{"path":342,"title":13,"sectionKey":53,"sectionOrder":14,"itemOrder":14,"packageName":3240,"depth":14},{"path":344,"title":17,"sectionKey":53,"sectionOrder":14,"itemOrder":18,"packageName":3240,"depth":14},{"path":346,"title":258,"sectionKey":53,"sectionOrder":14,"itemOrder":70,"packageName":3240,"depth":14},{"path":348,"title":73,"sectionKey":53,"sectionOrder":14,"itemOrder":74,"packageName":3240,"depth":14},{"path":350,"title":77,"sectionKey":53,"sectionOrder":14,"itemOrder":78,"packageName":3240,"depth":14},{"path":352,"title":81,"sectionKey":53,"sectionOrder":14,"itemOrder":82,"packageName":3240,"depth":14},{"path":354,"title":85,"sectionKey":53,"sectionOrder":14,"itemOrder":86,"packageName":3240,"depth":14},{"path":356,"title":89,"sectionKey":53,"sectionOrder":14,"itemOrder":90,"packageName":3240,"depth":14},{"path":359,"title":360,"sectionKey":53,"sectionOrder":14,"itemOrder":6,"packageName":3251,"depth":29},"wpzylos-mcp",{"path":362,"title":62,"sectionKey":53,"sectionOrder":14,"itemOrder":29,"packageName":3251,"depth":14},{"path":364,"title":13,"sectionKey":53,"sectionOrder":14,"itemOrder":14,"packageName":3251,"depth":14},{"path":366,"title":258,"sectionKey":53,"sectionOrder":14,"itemOrder":70,"packageName":3251,"depth":14},{"path":368,"title":73,"sectionKey":53,"sectionOrder":14,"itemOrder":74,"packageName":3251,"depth":14},{"path":370,"title":77,"sectionKey":53,"sectionOrder":14,"itemOrder":78,"packageName":3251,"depth":14},{"path":372,"title":89,"sectionKey":53,"sectionOrder":14,"itemOrder":90,"packageName":3251,"depth":14},{"path":374,"title":375,"sectionKey":53,"sectionOrder":14,"itemOrder":22,"packageName":3251,"depth":14},{"path":378,"title":379,"sectionKey":53,"sectionOrder":14,"itemOrder":6,"packageName":3260,"depth":29},"wpzylos-migrations",{"path":381,"title":62,"sectionKey":53,"sectionOrder":14,"itemOrder":29,"packageName":3260,"depth":14},{"path":383,"title":13,"sectionKey":53,"sectionOrder":14,"itemOrder":14,"packageName":3260,"depth":14},{"path":385,"title":17,"sectionKey":53,"sectionOrder":14,"itemOrder":18,"packageName":3260,"depth":14},{"path":387,"title":69,"sectionKey":53,"sectionOrder":14,"itemOrder":70,"packageName":3260,"depth":14},{"path":389,"title":73,"sectionKey":53,"sectionOrder":14,"itemOrder":74,"packageName":3260,"depth":14},{"path":391,"title":77,"sectionKey":53,"sectionOrder":14,"itemOrder":78,"packageName":3260,"depth":14},{"path":393,"title":81,"sectionKey":53,"sectionOrder":14,"itemOrder":82,"packageName":3260,"depth":14},{"path":395,"title":111,"sectionKey":53,"sectionOrder":14,"itemOrder":86,"packageName":3260,"depth":14},{"path":397,"title":89,"sectionKey":53,"sectionOrder":14,"itemOrder":90,"packageName":3260,"depth":14},{"path":400,"title":401,"sectionKey":53,"sectionOrder":14,"itemOrder":6,"packageName":3271,"depth":29},"wpzylos-model",{"path":403,"title":62,"sectionKey":53,"sectionOrder":14,"itemOrder":29,"packageName":3271,"depth":14},{"path":405,"title":13,"sectionKey":53,"sectionOrder":14,"itemOrder":14,"packageName":3271,"depth":14},{"path":407,"title":17,"sectionKey":53,"sectionOrder":14,"itemOrder":18,"packageName":3271,"depth":14},{"path":409,"title":69,"sectionKey":53,"sectionOrder":14,"itemOrder":70,"packageName":3271,"depth":14},{"path":411,"title":73,"sectionKey":53,"sectionOrder":14,"itemOrder":74,"packageName":3271,"depth":14},{"path":413,"title":77,"sectionKey":53,"sectionOrder":14,"itemOrder":78,"packageName":3271,"depth":14},{"path":415,"title":81,"sectionKey":53,"sectionOrder":14,"itemOrder":82,"packageName":3271,"depth":14},{"path":417,"title":85,"sectionKey":53,"sectionOrder":14,"itemOrder":86,"packageName":3271,"depth":14},{"path":419,"title":89,"sectionKey":53,"sectionOrder":14,"itemOrder":90,"packageName":3271,"depth":14},{"path":422,"title":423,"sectionKey":53,"sectionOrder":14,"itemOrder":6,"packageName":3282,"depth":29},"wpzylos-notification",{"path":425,"title":62,"sectionKey":53,"sectionOrder":14,"itemOrder":29,"packageName":3282,"depth":14},{"path":427,"title":13,"sectionKey":53,"sectionOrder":14,"itemOrder":14,"packageName":3282,"depth":14},{"path":429,"title":17,"sectionKey":53,"sectionOrder":14,"itemOrder":18,"packageName":3282,"depth":14},{"path":431,"title":69,"sectionKey":53,"sectionOrder":14,"itemOrder":70,"packageName":3282,"depth":14},{"path":433,"title":73,"sectionKey":53,"sectionOrder":14,"itemOrder":74,"packageName":3282,"depth":14},{"path":435,"title":77,"sectionKey":53,"sectionOrder":14,"itemOrder":78,"packageName":3282,"depth":14},{"path":437,"title":81,"sectionKey":53,"sectionOrder":14,"itemOrder":82,"packageName":3282,"depth":14},{"path":439,"title":85,"sectionKey":53,"sectionOrder":14,"itemOrder":86,"packageName":3282,"depth":14},{"path":441,"title":89,"sectionKey":53,"sectionOrder":14,"itemOrder":90,"packageName":3282,"depth":14},{"path":444,"title":445,"sectionKey":53,"sectionOrder":14,"itemOrder":6,"packageName":3293,"depth":29},"wpzylos-queue",{"path":447,"title":62,"sectionKey":53,"sectionOrder":14,"itemOrder":29,"packageName":3293,"depth":14},{"path":449,"title":13,"sectionKey":53,"sectionOrder":14,"itemOrder":14,"packageName":3293,"depth":14},{"path":451,"title":17,"sectionKey":53,"sectionOrder":14,"itemOrder":18,"packageName":3293,"depth":14},{"path":453,"title":69,"sectionKey":53,"sectionOrder":14,"itemOrder":70,"packageName":3293,"depth":14},{"path":455,"title":73,"sectionKey":53,"sectionOrder":14,"itemOrder":74,"packageName":3293,"depth":14},{"path":457,"title":77,"sectionKey":53,"sectionOrder":14,"itemOrder":78,"packageName":3293,"depth":14},{"path":459,"title":81,"sectionKey":53,"sectionOrder":14,"itemOrder":82,"packageName":3293,"depth":14},{"path":461,"title":85,"sectionKey":53,"sectionOrder":14,"itemOrder":86,"packageName":3293,"depth":14},{"path":463,"title":89,"sectionKey":53,"sectionOrder":14,"itemOrder":90,"packageName":3293,"depth":14},{"path":466,"title":467,"sectionKey":53,"sectionOrder":14,"itemOrder":6,"packageName":3304,"depth":29},"wpzylos-requirements",{"path":469,"title":62,"sectionKey":53,"sectionOrder":14,"itemOrder":29,"packageName":3304,"depth":14},{"path":471,"title":13,"sectionKey":53,"sectionOrder":14,"itemOrder":14,"packageName":3304,"depth":14},{"path":473,"title":17,"sectionKey":53,"sectionOrder":14,"itemOrder":18,"packageName":3304,"depth":14},{"path":475,"title":69,"sectionKey":53,"sectionOrder":14,"itemOrder":70,"packageName":3304,"depth":14},{"path":477,"title":73,"sectionKey":53,"sectionOrder":14,"itemOrder":74,"packageName":3304,"depth":14},{"path":479,"title":77,"sectionKey":53,"sectionOrder":14,"itemOrder":78,"packageName":3304,"depth":14},{"path":481,"title":81,"sectionKey":53,"sectionOrder":14,"itemOrder":82,"packageName":3304,"depth":14},{"path":483,"title":85,"sectionKey":53,"sectionOrder":14,"itemOrder":86,"packageName":3304,"depth":14},{"path":485,"title":89,"sectionKey":53,"sectionOrder":14,"itemOrder":90,"packageName":3304,"depth":14},{"path":488,"title":489,"sectionKey":53,"sectionOrder":14,"itemOrder":6,"packageName":3315,"depth":29},"wpzylos-routing",{"path":491,"title":62,"sectionKey":53,"sectionOrder":14,"itemOrder":29,"packageName":3315,"depth":14},{"path":493,"title":13,"sectionKey":53,"sectionOrder":14,"itemOrder":14,"packageName":3315,"depth":14},{"path":495,"title":17,"sectionKey":53,"sectionOrder":14,"itemOrder":18,"packageName":3315,"depth":14},{"path":497,"title":69,"sectionKey":53,"sectionOrder":14,"itemOrder":70,"packageName":3315,"depth":14},{"path":499,"title":73,"sectionKey":53,"sectionOrder":14,"itemOrder":74,"packageName":3315,"depth":14},{"path":501,"title":77,"sectionKey":53,"sectionOrder":14,"itemOrder":78,"packageName":3315,"depth":14},{"path":503,"title":81,"sectionKey":53,"sectionOrder":14,"itemOrder":82,"packageName":3315,"depth":14},{"path":505,"title":85,"sectionKey":53,"sectionOrder":14,"itemOrder":86,"packageName":3315,"depth":14},{"path":507,"title":89,"sectionKey":53,"sectionOrder":14,"itemOrder":90,"packageName":3315,"depth":14},{"path":509,"title":510,"sectionKey":53,"sectionOrder":14,"itemOrder":22,"packageName":3315,"depth":14},{"path":512,"title":513,"sectionKey":53,"sectionOrder":14,"itemOrder":22,"packageName":3315,"depth":14},{"path":516,"title":517,"sectionKey":53,"sectionOrder":14,"itemOrder":6,"packageName":3328,"depth":29},"wpzylos-scaffold",{"path":519,"title":62,"sectionKey":53,"sectionOrder":14,"itemOrder":29,"packageName":3328,"depth":14},{"path":521,"title":13,"sectionKey":53,"sectionOrder":14,"itemOrder":14,"packageName":3328,"depth":14},{"path":523,"title":17,"sectionKey":53,"sectionOrder":14,"itemOrder":18,"packageName":3328,"depth":14},{"path":525,"title":69,"sectionKey":53,"sectionOrder":14,"itemOrder":70,"packageName":3328,"depth":14},{"path":527,"title":73,"sectionKey":53,"sectionOrder":14,"itemOrder":74,"packageName":3328,"depth":14},{"path":529,"title":77,"sectionKey":53,"sectionOrder":14,"itemOrder":78,"packageName":3328,"depth":14},{"path":531,"title":81,"sectionKey":53,"sectionOrder":14,"itemOrder":82,"packageName":3328,"depth":14},{"path":533,"title":534,"sectionKey":53,"sectionOrder":14,"itemOrder":82,"packageName":3328,"depth":14},{"path":536,"title":111,"sectionKey":53,"sectionOrder":14,"itemOrder":86,"packageName":3328,"depth":14},{"path":538,"title":89,"sectionKey":53,"sectionOrder":14,"itemOrder":90,"packageName":3328,"depth":14},{"path":540,"title":541,"sectionKey":53,"sectionOrder":14,"itemOrder":22,"packageName":3328,"depth":14},{"path":543,"title":544,"sectionKey":53,"sectionOrder":14,"itemOrder":22,"packageName":3328,"depth":14},{"path":547,"title":548,"sectionKey":53,"sectionOrder":14,"itemOrder":6,"packageName":3342,"depth":29},"wpzylos-scheduler",{"path":550,"title":62,"sectionKey":53,"sectionOrder":14,"itemOrder":29,"packageName":3342,"depth":14},{"path":552,"title":13,"sectionKey":53,"sectionOrder":14,"itemOrder":14,"packageName":3342,"depth":14},{"path":554,"title":17,"sectionKey":53,"sectionOrder":14,"itemOrder":18,"packageName":3342,"depth":14},{"path":556,"title":69,"sectionKey":53,"sectionOrder":14,"itemOrder":70,"packageName":3342,"depth":14},{"path":558,"title":73,"sectionKey":53,"sectionOrder":14,"itemOrder":74,"packageName":3342,"depth":14},{"path":560,"title":77,"sectionKey":53,"sectionOrder":14,"itemOrder":78,"packageName":3342,"depth":14},{"path":562,"title":81,"sectionKey":53,"sectionOrder":14,"itemOrder":82,"packageName":3342,"depth":14},{"path":564,"title":85,"sectionKey":53,"sectionOrder":14,"itemOrder":86,"packageName":3342,"depth":14},{"path":566,"title":89,"sectionKey":53,"sectionOrder":14,"itemOrder":90,"packageName":3342,"depth":14},{"path":569,"title":570,"sectionKey":53,"sectionOrder":14,"itemOrder":6,"packageName":3353,"depth":29},"wpzylos-security",{"path":572,"title":62,"sectionKey":53,"sectionOrder":14,"itemOrder":29,"packageName":3353,"depth":14},{"path":574,"title":13,"sectionKey":53,"sectionOrder":14,"itemOrder":14,"packageName":3353,"depth":14},{"path":576,"title":17,"sectionKey":53,"sectionOrder":14,"itemOrder":18,"packageName":3353,"depth":14},{"path":578,"title":258,"sectionKey":53,"sectionOrder":14,"itemOrder":70,"packageName":3353,"depth":14},{"path":580,"title":73,"sectionKey":53,"sectionOrder":14,"itemOrder":74,"packageName":3353,"depth":14},{"path":582,"title":77,"sectionKey":53,"sectionOrder":14,"itemOrder":78,"packageName":3353,"depth":14},{"path":584,"title":81,"sectionKey":53,"sectionOrder":14,"itemOrder":82,"packageName":3353,"depth":14},{"path":586,"title":89,"sectionKey":53,"sectionOrder":14,"itemOrder":90,"packageName":3353,"depth":14},{"path":589,"title":590,"sectionKey":53,"sectionOrder":14,"itemOrder":6,"packageName":3363,"depth":29},"wpzylos-validation",{"path":592,"title":62,"sectionKey":53,"sectionOrder":14,"itemOrder":29,"packageName":3363,"depth":14},{"path":594,"title":13,"sectionKey":53,"sectionOrder":14,"itemOrder":14,"packageName":3363,"depth":14},{"path":596,"title":17,"sectionKey":53,"sectionOrder":14,"itemOrder":18,"packageName":3363,"depth":14},{"path":598,"title":258,"sectionKey":53,"sectionOrder":14,"itemOrder":70,"packageName":3363,"depth":14},{"path":600,"title":73,"sectionKey":53,"sectionOrder":14,"itemOrder":74,"packageName":3363,"depth":14},{"path":602,"title":77,"sectionKey":53,"sectionOrder":14,"itemOrder":78,"packageName":3363,"depth":14},{"path":604,"title":81,"sectionKey":53,"sectionOrder":14,"itemOrder":82,"packageName":3363,"depth":14},{"path":606,"title":111,"sectionKey":53,"sectionOrder":14,"itemOrder":86,"packageName":3363,"depth":14},{"path":608,"title":89,"sectionKey":53,"sectionOrder":14,"itemOrder":90,"packageName":3363,"depth":14},{"path":611,"title":612,"sectionKey":53,"sectionOrder":14,"itemOrder":6,"packageName":3374,"depth":29},"wpzylos-views",{"path":614,"title":62,"sectionKey":53,"sectionOrder":14,"itemOrder":29,"packageName":3374,"depth":14},{"path":616,"title":13,"sectionKey":53,"sectionOrder":14,"itemOrder":14,"packageName":3374,"depth":14},{"path":618,"title":17,"sectionKey":53,"sectionOrder":14,"itemOrder":18,"packageName":3374,"depth":14},{"path":620,"title":258,"sectionKey":53,"sectionOrder":14,"itemOrder":70,"packageName":3374,"depth":14},{"path":622,"title":73,"sectionKey":53,"sectionOrder":14,"itemOrder":74,"packageName":3374,"depth":14},{"path":624,"title":77,"sectionKey":53,"sectionOrder":14,"itemOrder":78,"packageName":3374,"depth":14},{"path":626,"title":81,"sectionKey":53,"sectionOrder":14,"itemOrder":82,"packageName":3374,"depth":14},{"path":628,"title":111,"sectionKey":53,"sectionOrder":14,"itemOrder":86,"packageName":3374,"depth":14},{"path":630,"title":89,"sectionKey":53,"sectionOrder":14,"itemOrder":90,"packageName":3374,"depth":14},{"path":633,"title":634,"sectionKey":53,"sectionOrder":14,"itemOrder":6,"packageName":3385,"depth":29},"wpzylos-wp-cli",{"path":636,"title":62,"sectionKey":53,"sectionOrder":14,"itemOrder":29,"packageName":3385,"depth":14},{"path":638,"title":13,"sectionKey":53,"sectionOrder":14,"itemOrder":14,"packageName":3385,"depth":14},{"path":640,"title":17,"sectionKey":53,"sectionOrder":14,"itemOrder":18,"packageName":3385,"depth":14},{"path":642,"title":69,"sectionKey":53,"sectionOrder":14,"itemOrder":70,"packageName":3385,"depth":14},{"path":644,"title":73,"sectionKey":53,"sectionOrder":14,"itemOrder":74,"packageName":3385,"depth":14},{"path":646,"title":77,"sectionKey":53,"sectionOrder":14,"itemOrder":78,"packageName":3385,"depth":14},{"path":648,"title":81,"sectionKey":53,"sectionOrder":14,"itemOrder":82,"packageName":3385,"depth":14},{"path":650,"title":111,"sectionKey":53,"sectionOrder":14,"itemOrder":86,"packageName":3385,"depth":14},{"path":652,"title":89,"sectionKey":53,"sectionOrder":14,"itemOrder":90,"packageName":3385,"depth":14},{"path":658,"title":659,"sectionKey":655,"sectionOrder":18,"itemOrder":6,"packageName":722,"depth":6},{"path":661,"title":544,"sectionKey":655,"sectionOrder":18,"itemOrder":22,"packageName":722,"depth":29},{"path":667,"title":668,"sectionKey":664,"sectionOrder":70,"itemOrder":29,"packageName":722,"depth":29},{"path":674,"title":675,"sectionKey":671,"sectionOrder":74,"itemOrder":29,"packageName":722,"depth":29},{"path":677,"title":678,"sectionKey":671,"sectionOrder":74,"itemOrder":22,"packageName":722,"depth":29},{"path":680,"title":681,"sectionKey":671,"sectionOrder":74,"itemOrder":22,"packageName":722,"depth":29},{"path":688,"title":689,"sectionKey":685,"sectionOrder":78,"itemOrder":29,"packageName":722,"depth":29},{"path":3403,"title":3404,"sectionKey":3405,"sectionOrder":3406,"itemOrder":90,"packageName":722,"depth":6},"\u002Fdocs\u002Flatest\u002Ftroubleshooting","System Troubleshooting","troubleshooting",99,{"path":3408,"title":3409,"sectionKey":3410,"sectionOrder":3406,"itemOrder":22,"packageName":722,"depth":6},"\u002Fdocs\u002Flatest\u002Frelease-checklist","Release Checklist","release-checklist",{"path":3412,"title":3413,"sectionKey":3414,"sectionOrder":3406,"itemOrder":22,"packageName":722,"depth":6},"\u002Fdocs\u002Flatest\u002Frules","WPZylos Framework Rules","rules",1784547675816]