[{"data":1,"prerenderedAt":3316},["ShallowReactive",2],{"docs-nav":3,"doc-latest\u002Fconcepts\u002Fservice-providers":691,"docs-prevnext-flat":2996},[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":49,"body":693,"description":703,"extension":2991,"meta":2992,"navigation":755,"order":22,"package":30,"path":48,"seo":2993,"stem":2994,"__hash__":2995},"content\u002Fdocs\u002Flatest\u002Fconcepts\u002Fservice-providers.md",{"type":694,"value":695,"toc":2965},"minimark",[696,700,704,709,712,729,988,992,1082,1086,1091,1207,1211,1337,1341,1345,1417,1421,1447,1451,1455,1711,1715,2139,2143,2283,2287,2290,2474,2478,2482,2544,2548,2615,2619,2740,2744,2813,2817,2941,2945,2961],[697,698,49],"h1",{"id":699},"service-providers",[701,702,703],"p",{},"Service providers are the central place for configuring and bootstrapping your plugin's services.",[705,706,708],"h2",{"id":707},"what-is-a-service-provider","What is a Service Provider?",[701,710,711],{},"A service provider is a class that:",[713,714,715,723],"ol",{},[716,717,718,722],"li",{},[719,720,721],"strong",{},"Registers"," services into the container",[716,724,725,728],{},[719,726,727],{},"Boots"," services after all registration is complete",[730,731,736],"pre",{"className":732,"code":733,"language":734,"meta":735,"style":735},"language-php shiki shiki-themes github-light github-dark","\u003C?php\n\nnamespace Vendor\\MyPlugin\\Providers;\n\nuse WPZylos\\Framework\\Core\\ServiceProvider;\nuse Vendor\\MyPlugin\\Services\\PaymentGateway;\nuse Vendor\\MyPlugin\\Contracts\\PaymentInterface;\n\nclass PaymentServiceProvider extends ServiceProvider\n{\n    public function register(): void\n    {\n        \u002F\u002F Bind services to container\n        $this->container->singleton(PaymentInterface::class, PaymentGateway::class);\n    }\n\n    public function boot(): void\n    {\n        \u002F\u002F Services are now available\n        $gateway = $this->container->get(PaymentInterface::class);\n        $gateway->initialize();\n    }\n}\n","php","",[737,738,739,751,757,770,774,784,793,802,806,820,825,846,852,859,896,902,907,923,928,934,963,977,982],"code",{"__ignoreMap":735},[740,741,743,747],"span",{"class":742,"line":6},"line",[740,744,746],{"class":745},"szBVR","\u003C?",[740,748,750],{"class":749},"sj4cs","php\n",[740,752,753],{"class":742,"line":29},[740,754,756],{"emptyLinePlaceholder":755},true,"\n",[740,758,759,762,766],{"class":742,"line":14},[740,760,761],{"class":745},"namespace",[740,763,765],{"class":764},"sScJk"," Vendor\\MyPlugin\\Providers",[740,767,769],{"class":768},"sVt8B",";\n",[740,771,772],{"class":742,"line":18},[740,773,756],{"emptyLinePlaceholder":755},[740,775,776,779,782],{"class":742,"line":70},[740,777,778],{"class":745},"use",[740,780,781],{"class":749}," WPZylos\\Framework\\Core\\ServiceProvider",[740,783,769],{"class":768},[740,785,786,788,791],{"class":742,"line":74},[740,787,778],{"class":745},[740,789,790],{"class":749}," Vendor\\MyPlugin\\Services\\PaymentGateway",[740,792,769],{"class":768},[740,794,795,797,800],{"class":742,"line":78},[740,796,778],{"class":745},[740,798,799],{"class":749}," Vendor\\MyPlugin\\Contracts\\PaymentInterface",[740,801,769],{"class":768},[740,803,804],{"class":742,"line":82},[740,805,756],{"emptyLinePlaceholder":755},[740,807,808,811,814,817],{"class":742,"line":86},[740,809,810],{"class":745},"class",[740,812,813],{"class":764}," PaymentServiceProvider",[740,815,816],{"class":745}," extends",[740,818,819],{"class":764}," ServiceProvider\n",[740,821,822],{"class":742,"line":90},[740,823,824],{"class":768},"{\n",[740,826,828,831,834,837,840,843],{"class":742,"line":827},11,[740,829,830],{"class":745},"    public",[740,832,833],{"class":745}," function",[740,835,836],{"class":764}," register",[740,838,839],{"class":768},"()",[740,841,842],{"class":745},":",[740,844,845],{"class":745}," void\n",[740,847,849],{"class":742,"line":848},12,[740,850,851],{"class":768},"    {\n",[740,853,855],{"class":742,"line":854},13,[740,856,858],{"class":857},"sJ8bj","        \u002F\u002F Bind services to container\n",[740,860,862,865,868,871,873,876,879,882,885,888,891,893],{"class":742,"line":861},14,[740,863,864],{"class":749},"        $this",[740,866,867],{"class":745},"->",[740,869,870],{"class":768},"container",[740,872,867],{"class":745},[740,874,875],{"class":764},"singleton",[740,877,878],{"class":768},"(",[740,880,881],{"class":749},"PaymentInterface",[740,883,884],{"class":745},"::class",[740,886,887],{"class":768},", ",[740,889,890],{"class":749},"PaymentGateway",[740,892,884],{"class":745},[740,894,895],{"class":768},");\n",[740,897,899],{"class":742,"line":898},15,[740,900,901],{"class":768},"    }\n",[740,903,905],{"class":742,"line":904},16,[740,906,756],{"emptyLinePlaceholder":755},[740,908,910,912,914,917,919,921],{"class":742,"line":909},17,[740,911,830],{"class":745},[740,913,833],{"class":745},[740,915,916],{"class":764}," boot",[740,918,839],{"class":768},[740,920,842],{"class":745},[740,922,845],{"class":745},[740,924,926],{"class":742,"line":925},18,[740,927,851],{"class":768},[740,929,931],{"class":742,"line":930},19,[740,932,933],{"class":857},"        \u002F\u002F Services are now available\n",[740,935,937,940,943,946,948,950,952,955,957,959,961],{"class":742,"line":936},20,[740,938,939],{"class":768},"        $gateway ",[740,941,942],{"class":745},"=",[740,944,945],{"class":749}," $this",[740,947,867],{"class":745},[740,949,870],{"class":768},[740,951,867],{"class":745},[740,953,954],{"class":764},"get",[740,956,878],{"class":768},[740,958,881],{"class":749},[740,960,884],{"class":745},[740,962,895],{"class":768},[740,964,966,969,971,974],{"class":742,"line":965},21,[740,967,968],{"class":768},"        $gateway",[740,970,867],{"class":745},[740,972,973],{"class":764},"initialize",[740,975,976],{"class":768},"();\n",[740,978,980],{"class":742,"line":979},22,[740,981,901],{"class":768},[740,983,985],{"class":742,"line":984},23,[740,986,987],{"class":768},"}\n",[705,989,991],{"id":990},"provider-lifecycle","Provider Lifecycle",[730,993,997],{"className":994,"code":995,"language":996,"meta":735,"style":735},"language-mermaid shiki shiki-themes github-light github-dark","sequenceDiagram\n    participant App as Application\n    participant P1 as Provider A\n    participant P2 as Provider B\n    participant Container\n\n    Note over App: Registration Phase\n    App->>P1: register()\n    P1->>Container: bind services\n    App->>P2: register()\n    P2->>Container: bind services\n\n    Note over App: Boot Phase\n    App->>P1: boot()\n    P1->>Container: get services\n    App->>P2: boot()\n    P2->>Container: get services\n","mermaid",[737,998,999,1004,1009,1014,1019,1024,1028,1033,1038,1043,1048,1053,1057,1062,1067,1072,1077],{"__ignoreMap":735},[740,1000,1001],{"class":742,"line":6},[740,1002,1003],{},"sequenceDiagram\n",[740,1005,1006],{"class":742,"line":29},[740,1007,1008],{},"    participant App as Application\n",[740,1010,1011],{"class":742,"line":14},[740,1012,1013],{},"    participant P1 as Provider A\n",[740,1015,1016],{"class":742,"line":18},[740,1017,1018],{},"    participant P2 as Provider B\n",[740,1020,1021],{"class":742,"line":70},[740,1022,1023],{},"    participant Container\n",[740,1025,1026],{"class":742,"line":74},[740,1027,756],{"emptyLinePlaceholder":755},[740,1029,1030],{"class":742,"line":78},[740,1031,1032],{},"    Note over App: Registration Phase\n",[740,1034,1035],{"class":742,"line":82},[740,1036,1037],{},"    App->>P1: register()\n",[740,1039,1040],{"class":742,"line":86},[740,1041,1042],{},"    P1->>Container: bind services\n",[740,1044,1045],{"class":742,"line":90},[740,1046,1047],{},"    App->>P2: register()\n",[740,1049,1050],{"class":742,"line":827},[740,1051,1052],{},"    P2->>Container: bind services\n",[740,1054,1055],{"class":742,"line":848},[740,1056,756],{"emptyLinePlaceholder":755},[740,1058,1059],{"class":742,"line":854},[740,1060,1061],{},"    Note over App: Boot Phase\n",[740,1063,1064],{"class":742,"line":861},[740,1065,1066],{},"    App->>P1: boot()\n",[740,1068,1069],{"class":742,"line":898},[740,1070,1071],{},"    P1->>Container: get services\n",[740,1073,1074],{"class":742,"line":904},[740,1075,1076],{},"    App->>P2: boot()\n",[740,1078,1079],{"class":742,"line":909},[740,1080,1081],{},"    P2->>Container: get services\n",[705,1083,1085],{"id":1084},"creating-a-service-provider","Creating a Service Provider",[1087,1088,1090],"h3",{"id":1089},"basic-provider","Basic Provider",[730,1092,1094],{"className":732,"code":1093,"language":734,"meta":735,"style":735},"\u003C?php\n\nnamespace Vendor\\MyPlugin\\Providers;\n\nuse WPZylos\\Framework\\Core\\ServiceProvider;\n\nclass AppServiceProvider extends ServiceProvider\n{\n    public function register(): void\n    {\n        \u002F\u002F Register bindings\n    }\n\n    public function boot(): void\n    {\n        \u002F\u002F Bootstrap services\n    }\n}\n",[737,1095,1096,1102,1106,1114,1118,1126,1130,1141,1145,1159,1163,1168,1172,1176,1190,1194,1199,1203],{"__ignoreMap":735},[740,1097,1098,1100],{"class":742,"line":6},[740,1099,746],{"class":745},[740,1101,750],{"class":749},[740,1103,1104],{"class":742,"line":29},[740,1105,756],{"emptyLinePlaceholder":755},[740,1107,1108,1110,1112],{"class":742,"line":14},[740,1109,761],{"class":745},[740,1111,765],{"class":764},[740,1113,769],{"class":768},[740,1115,1116],{"class":742,"line":18},[740,1117,756],{"emptyLinePlaceholder":755},[740,1119,1120,1122,1124],{"class":742,"line":70},[740,1121,778],{"class":745},[740,1123,781],{"class":749},[740,1125,769],{"class":768},[740,1127,1128],{"class":742,"line":74},[740,1129,756],{"emptyLinePlaceholder":755},[740,1131,1132,1134,1137,1139],{"class":742,"line":78},[740,1133,810],{"class":745},[740,1135,1136],{"class":764}," AppServiceProvider",[740,1138,816],{"class":745},[740,1140,819],{"class":764},[740,1142,1143],{"class":742,"line":82},[740,1144,824],{"class":768},[740,1146,1147,1149,1151,1153,1155,1157],{"class":742,"line":86},[740,1148,830],{"class":745},[740,1150,833],{"class":745},[740,1152,836],{"class":764},[740,1154,839],{"class":768},[740,1156,842],{"class":745},[740,1158,845],{"class":745},[740,1160,1161],{"class":742,"line":90},[740,1162,851],{"class":768},[740,1164,1165],{"class":742,"line":827},[740,1166,1167],{"class":857},"        \u002F\u002F Register bindings\n",[740,1169,1170],{"class":742,"line":848},[740,1171,901],{"class":768},[740,1173,1174],{"class":742,"line":854},[740,1175,756],{"emptyLinePlaceholder":755},[740,1177,1178,1180,1182,1184,1186,1188],{"class":742,"line":861},[740,1179,830],{"class":745},[740,1181,833],{"class":745},[740,1183,916],{"class":764},[740,1185,839],{"class":768},[740,1187,842],{"class":745},[740,1189,845],{"class":745},[740,1191,1192],{"class":742,"line":898},[740,1193,851],{"class":768},[740,1195,1196],{"class":742,"line":904},[740,1197,1198],{"class":857},"        \u002F\u002F Bootstrap services\n",[740,1200,1201],{"class":742,"line":909},[740,1202,901],{"class":768},[740,1204,1205],{"class":742,"line":925},[740,1206,987],{"class":768},[1087,1208,1210],{"id":1209},"available-properties","Available Properties",[730,1212,1214],{"className":732,"code":1213,"language":734,"meta":735,"style":735},"class MyProvider extends ServiceProvider\n{\n    \u002F\u002F Access plugin context\n    protected ContextInterface $context;\n\n    \u002F\u002F Access container\n    protected Container $container;\n\n    public function register(): void\n    {\n        $prefix = $this->context->prefix();\n        $this->container->bind(...);\n    }\n}\n",[737,1215,1216,1227,1231,1236,1247,1251,1256,1266,1270,1284,1288,1309,1329,1333],{"__ignoreMap":735},[740,1217,1218,1220,1223,1225],{"class":742,"line":6},[740,1219,810],{"class":745},[740,1221,1222],{"class":764}," MyProvider",[740,1224,816],{"class":745},[740,1226,819],{"class":764},[740,1228,1229],{"class":742,"line":29},[740,1230,824],{"class":768},[740,1232,1233],{"class":742,"line":14},[740,1234,1235],{"class":857},"    \u002F\u002F Access plugin context\n",[740,1237,1238,1241,1244],{"class":742,"line":18},[740,1239,1240],{"class":745},"    protected",[740,1242,1243],{"class":749}," ContextInterface",[740,1245,1246],{"class":768}," $context;\n",[740,1248,1249],{"class":742,"line":70},[740,1250,756],{"emptyLinePlaceholder":755},[740,1252,1253],{"class":742,"line":74},[740,1254,1255],{"class":857},"    \u002F\u002F Access container\n",[740,1257,1258,1260,1263],{"class":742,"line":78},[740,1259,1240],{"class":745},[740,1261,1262],{"class":749}," Container",[740,1264,1265],{"class":768}," $container;\n",[740,1267,1268],{"class":742,"line":82},[740,1269,756],{"emptyLinePlaceholder":755},[740,1271,1272,1274,1276,1278,1280,1282],{"class":742,"line":86},[740,1273,830],{"class":745},[740,1275,833],{"class":745},[740,1277,836],{"class":764},[740,1279,839],{"class":768},[740,1281,842],{"class":745},[740,1283,845],{"class":745},[740,1285,1286],{"class":742,"line":90},[740,1287,851],{"class":768},[740,1289,1290,1293,1295,1297,1299,1302,1304,1307],{"class":742,"line":827},[740,1291,1292],{"class":768},"        $prefix ",[740,1294,942],{"class":745},[740,1296,945],{"class":749},[740,1298,867],{"class":745},[740,1300,1301],{"class":768},"context",[740,1303,867],{"class":745},[740,1305,1306],{"class":764},"prefix",[740,1308,976],{"class":768},[740,1310,1311,1313,1315,1317,1319,1322,1324,1327],{"class":742,"line":848},[740,1312,864],{"class":749},[740,1314,867],{"class":745},[740,1316,870],{"class":768},[740,1318,867],{"class":745},[740,1320,1321],{"class":764},"bind",[740,1323,878],{"class":768},[740,1325,1326],{"class":745},"...",[740,1328,895],{"class":768},[740,1330,1331],{"class":742,"line":854},[740,1332,901],{"class":768},[740,1334,1335],{"class":742,"line":861},[740,1336,987],{"class":768},[705,1338,1340],{"id":1339},"registering-providers","Registering Providers",[1087,1342,1344],{"id":1343},"in-configappphp","In config\u002Fapp.php",[730,1346,1348],{"className":732,"code":1347,"language":734,"meta":735,"style":735},"\u003C?php\n\nreturn [\n    'providers' => [\n        \\Vendor\\MyPlugin\\Providers\\AppServiceProvider::class,\n        \\Vendor\\MyPlugin\\Providers\\RouteServiceProvider::class,\n        \\Vendor\\MyPlugin\\Providers\\DatabaseServiceProvider::class,\n    ],\n];\n",[737,1349,1350,1356,1360,1368,1379,1389,1398,1407,1412],{"__ignoreMap":735},[740,1351,1352,1354],{"class":742,"line":6},[740,1353,746],{"class":745},[740,1355,750],{"class":749},[740,1357,1358],{"class":742,"line":29},[740,1359,756],{"emptyLinePlaceholder":755},[740,1361,1362,1365],{"class":742,"line":14},[740,1363,1364],{"class":745},"return",[740,1366,1367],{"class":768}," [\n",[740,1369,1370,1374,1377],{"class":742,"line":18},[740,1371,1373],{"class":1372},"sZZnC","    'providers'",[740,1375,1376],{"class":745}," =>",[740,1378,1367],{"class":768},[740,1380,1381,1384,1386],{"class":742,"line":70},[740,1382,1383],{"class":749},"        \\Vendor\\MyPlugin\\Providers\\AppServiceProvider",[740,1385,884],{"class":745},[740,1387,1388],{"class":768},",\n",[740,1390,1391,1394,1396],{"class":742,"line":74},[740,1392,1393],{"class":749},"        \\Vendor\\MyPlugin\\Providers\\RouteServiceProvider",[740,1395,884],{"class":745},[740,1397,1388],{"class":768},[740,1399,1400,1403,1405],{"class":742,"line":78},[740,1401,1402],{"class":749},"        \\Vendor\\MyPlugin\\Providers\\DatabaseServiceProvider",[740,1404,884],{"class":745},[740,1406,1388],{"class":768},[740,1408,1409],{"class":742,"line":82},[740,1410,1411],{"class":768},"    ],\n",[740,1413,1414],{"class":742,"line":86},[740,1415,1416],{"class":768},"];\n",[1087,1418,1420],{"id":1419},"programmatically","Programmatically",[730,1422,1424],{"className":732,"code":1423,"language":734,"meta":735,"style":735},"$app->registerProvider(new CustomProvider($context, $container));\n",[737,1425,1426],{"__ignoreMap":735},[740,1427,1428,1431,1433,1436,1438,1441,1444],{"class":742,"line":6},[740,1429,1430],{"class":768},"$app",[740,1432,867],{"class":745},[740,1434,1435],{"class":764},"registerProvider",[740,1437,878],{"class":768},[740,1439,1440],{"class":745},"new",[740,1442,1443],{"class":749}," CustomProvider",[740,1445,1446],{"class":768},"($context, $container));\n",[705,1448,1450],{"id":1449},"common-provider-patterns","Common Provider Patterns",[1087,1452,1454],{"id":1453},"route-service-provider","Route Service Provider",[730,1456,1458],{"className":732,"code":1457,"language":734,"meta":735,"style":735},"\u003C?php\n\nnamespace Vendor\\MyPlugin\\Providers;\n\nuse WPZylos\\Framework\\Core\\ServiceProvider;\nuse WPZylos\\Framework\\Routing\\Router;\n\nclass RouteServiceProvider extends ServiceProvider\n{\n    public function boot(): void\n    {\n        $router = $this->container->get(Router::class);\n\n        \u002F\u002F Load route files\n        $this->loadRoutes($router);\n    }\n\n    private function loadRoutes(Router $router): void\n    {\n        $routesPath = $this->context->path('routes');\n\n        if (is_admin()) {\n            require $routesPath . '\u002Fadmin.php';\n        }\n\n        require $routesPath . '\u002Fajax.php';\n    }\n}\n",[737,1459,1460,1466,1470,1478,1482,1490,1499,1503,1514,1518,1532,1536,1562,1566,1571,1583,1587,1591,1612,1616,1641,1645,1659,1675,1681,1686,1701,1706],{"__ignoreMap":735},[740,1461,1462,1464],{"class":742,"line":6},[740,1463,746],{"class":745},[740,1465,750],{"class":749},[740,1467,1468],{"class":742,"line":29},[740,1469,756],{"emptyLinePlaceholder":755},[740,1471,1472,1474,1476],{"class":742,"line":14},[740,1473,761],{"class":745},[740,1475,765],{"class":764},[740,1477,769],{"class":768},[740,1479,1480],{"class":742,"line":18},[740,1481,756],{"emptyLinePlaceholder":755},[740,1483,1484,1486,1488],{"class":742,"line":70},[740,1485,778],{"class":745},[740,1487,781],{"class":749},[740,1489,769],{"class":768},[740,1491,1492,1494,1497],{"class":742,"line":74},[740,1493,778],{"class":745},[740,1495,1496],{"class":749}," WPZylos\\Framework\\Routing\\Router",[740,1498,769],{"class":768},[740,1500,1501],{"class":742,"line":78},[740,1502,756],{"emptyLinePlaceholder":755},[740,1504,1505,1507,1510,1512],{"class":742,"line":82},[740,1506,810],{"class":745},[740,1508,1509],{"class":764}," RouteServiceProvider",[740,1511,816],{"class":745},[740,1513,819],{"class":764},[740,1515,1516],{"class":742,"line":86},[740,1517,824],{"class":768},[740,1519,1520,1522,1524,1526,1528,1530],{"class":742,"line":90},[740,1521,830],{"class":745},[740,1523,833],{"class":745},[740,1525,916],{"class":764},[740,1527,839],{"class":768},[740,1529,842],{"class":745},[740,1531,845],{"class":745},[740,1533,1534],{"class":742,"line":827},[740,1535,851],{"class":768},[740,1537,1538,1541,1543,1545,1547,1549,1551,1553,1555,1558,1560],{"class":742,"line":848},[740,1539,1540],{"class":768},"        $router ",[740,1542,942],{"class":745},[740,1544,945],{"class":749},[740,1546,867],{"class":745},[740,1548,870],{"class":768},[740,1550,867],{"class":745},[740,1552,954],{"class":764},[740,1554,878],{"class":768},[740,1556,1557],{"class":749},"Router",[740,1559,884],{"class":745},[740,1561,895],{"class":768},[740,1563,1564],{"class":742,"line":854},[740,1565,756],{"emptyLinePlaceholder":755},[740,1567,1568],{"class":742,"line":861},[740,1569,1570],{"class":857},"        \u002F\u002F Load route files\n",[740,1572,1573,1575,1577,1580],{"class":742,"line":898},[740,1574,864],{"class":749},[740,1576,867],{"class":745},[740,1578,1579],{"class":764},"loadRoutes",[740,1581,1582],{"class":768},"($router);\n",[740,1584,1585],{"class":742,"line":904},[740,1586,901],{"class":768},[740,1588,1589],{"class":742,"line":909},[740,1590,756],{"emptyLinePlaceholder":755},[740,1592,1593,1596,1598,1601,1603,1605,1608,1610],{"class":742,"line":925},[740,1594,1595],{"class":745},"    private",[740,1597,833],{"class":745},[740,1599,1600],{"class":764}," loadRoutes",[740,1602,878],{"class":768},[740,1604,1557],{"class":749},[740,1606,1607],{"class":768}," $router)",[740,1609,842],{"class":745},[740,1611,845],{"class":745},[740,1613,1614],{"class":742,"line":930},[740,1615,851],{"class":768},[740,1617,1618,1621,1623,1625,1627,1629,1631,1634,1636,1639],{"class":742,"line":936},[740,1619,1620],{"class":768},"        $routesPath ",[740,1622,942],{"class":745},[740,1624,945],{"class":749},[740,1626,867],{"class":745},[740,1628,1301],{"class":768},[740,1630,867],{"class":745},[740,1632,1633],{"class":764},"path",[740,1635,878],{"class":768},[740,1637,1638],{"class":1372},"'routes'",[740,1640,895],{"class":768},[740,1642,1643],{"class":742,"line":965},[740,1644,756],{"emptyLinePlaceholder":755},[740,1646,1647,1650,1653,1656],{"class":742,"line":979},[740,1648,1649],{"class":745},"        if",[740,1651,1652],{"class":768}," (",[740,1654,1655],{"class":764},"is_admin",[740,1657,1658],{"class":768},"()) {\n",[740,1660,1661,1664,1667,1670,1673],{"class":742,"line":984},[740,1662,1663],{"class":745},"            require",[740,1665,1666],{"class":768}," $routesPath ",[740,1668,1669],{"class":745},".",[740,1671,1672],{"class":1372}," '\u002Fadmin.php'",[740,1674,769],{"class":768},[740,1676,1678],{"class":742,"line":1677},24,[740,1679,1680],{"class":768},"        }\n",[740,1682,1684],{"class":742,"line":1683},25,[740,1685,756],{"emptyLinePlaceholder":755},[740,1687,1689,1692,1694,1696,1699],{"class":742,"line":1688},26,[740,1690,1691],{"class":745},"        require",[740,1693,1666],{"class":768},[740,1695,1669],{"class":745},[740,1697,1698],{"class":1372}," '\u002Fajax.php'",[740,1700,769],{"class":768},[740,1702,1704],{"class":742,"line":1703},27,[740,1705,901],{"class":768},[740,1707,1709],{"class":742,"line":1708},28,[740,1710,987],{"class":768},[1087,1712,1714],{"id":1713},"admin-service-provider","Admin Service Provider",[730,1716,1718],{"className":732,"code":1717,"language":734,"meta":735,"style":735},"\u003C?php\n\nnamespace Vendor\\MyPlugin\\Providers;\n\nuse WPZylos\\Framework\\Core\\ServiceProvider;\nuse WPZylos\\Framework\\Hooks\\HookManager;\n\nclass AdminServiceProvider extends ServiceProvider\n{\n    public function boot(): void\n    {\n        if (!is_admin()) {\n            return;\n        }\n\n        $hooks = $this->container->get(HookManager::class);\n\n        $hooks->wpAction('admin_menu', [$this, 'registerMenus']);\n        $hooks->wpAction('admin_init', [$this, 'registerSettings']);\n    }\n\n    public function registerMenus(): void\n    {\n        add_menu_page(\n            __('My Plugin', $this->context->textDomain()),\n            __('My Plugin', $this->context->textDomain()),\n            'manage_options',\n            $this->context->slug(),\n            [$this, 'renderDashboard'],\n            'dashicons-admin-plugins',\n            30\n        );\n    }\n\n    public function renderDashboard(): void\n    {\n        $view = $this->container->get(ViewFactory::class);\n        echo $view->render('admin\u002Fdashboard');\n    }\n}\n",[737,1719,1720,1726,1730,1738,1742,1750,1759,1763,1774,1778,1792,1796,1809,1816,1820,1824,1850,1854,1883,1907,1911,1915,1930,1934,1942,1968,1990,1997,2014,2030,2038,2044,2050,2055,2060,2076,2081,2108,2129,2134],{"__ignoreMap":735},[740,1721,1722,1724],{"class":742,"line":6},[740,1723,746],{"class":745},[740,1725,750],{"class":749},[740,1727,1728],{"class":742,"line":29},[740,1729,756],{"emptyLinePlaceholder":755},[740,1731,1732,1734,1736],{"class":742,"line":14},[740,1733,761],{"class":745},[740,1735,765],{"class":764},[740,1737,769],{"class":768},[740,1739,1740],{"class":742,"line":18},[740,1741,756],{"emptyLinePlaceholder":755},[740,1743,1744,1746,1748],{"class":742,"line":70},[740,1745,778],{"class":745},[740,1747,781],{"class":749},[740,1749,769],{"class":768},[740,1751,1752,1754,1757],{"class":742,"line":74},[740,1753,778],{"class":745},[740,1755,1756],{"class":749}," WPZylos\\Framework\\Hooks\\HookManager",[740,1758,769],{"class":768},[740,1760,1761],{"class":742,"line":78},[740,1762,756],{"emptyLinePlaceholder":755},[740,1764,1765,1767,1770,1772],{"class":742,"line":82},[740,1766,810],{"class":745},[740,1768,1769],{"class":764}," AdminServiceProvider",[740,1771,816],{"class":745},[740,1773,819],{"class":764},[740,1775,1776],{"class":742,"line":86},[740,1777,824],{"class":768},[740,1779,1780,1782,1784,1786,1788,1790],{"class":742,"line":90},[740,1781,830],{"class":745},[740,1783,833],{"class":745},[740,1785,916],{"class":764},[740,1787,839],{"class":768},[740,1789,842],{"class":745},[740,1791,845],{"class":745},[740,1793,1794],{"class":742,"line":827},[740,1795,851],{"class":768},[740,1797,1798,1800,1802,1805,1807],{"class":742,"line":848},[740,1799,1649],{"class":745},[740,1801,1652],{"class":768},[740,1803,1804],{"class":745},"!",[740,1806,1655],{"class":764},[740,1808,1658],{"class":768},[740,1810,1811,1814],{"class":742,"line":854},[740,1812,1813],{"class":745},"            return",[740,1815,769],{"class":768},[740,1817,1818],{"class":742,"line":861},[740,1819,1680],{"class":768},[740,1821,1822],{"class":742,"line":898},[740,1823,756],{"emptyLinePlaceholder":755},[740,1825,1826,1829,1831,1833,1835,1837,1839,1841,1843,1846,1848],{"class":742,"line":904},[740,1827,1828],{"class":768},"        $hooks ",[740,1830,942],{"class":745},[740,1832,945],{"class":749},[740,1834,867],{"class":745},[740,1836,870],{"class":768},[740,1838,867],{"class":745},[740,1840,954],{"class":764},[740,1842,878],{"class":768},[740,1844,1845],{"class":749},"HookManager",[740,1847,884],{"class":745},[740,1849,895],{"class":768},[740,1851,1852],{"class":742,"line":909},[740,1853,756],{"emptyLinePlaceholder":755},[740,1855,1856,1859,1861,1864,1866,1869,1872,1875,1877,1880],{"class":742,"line":925},[740,1857,1858],{"class":768},"        $hooks",[740,1860,867],{"class":745},[740,1862,1863],{"class":764},"wpAction",[740,1865,878],{"class":768},[740,1867,1868],{"class":1372},"'admin_menu'",[740,1870,1871],{"class":768},", [",[740,1873,1874],{"class":749},"$this",[740,1876,887],{"class":768},[740,1878,1879],{"class":1372},"'registerMenus'",[740,1881,1882],{"class":768},"]);\n",[740,1884,1885,1887,1889,1891,1893,1896,1898,1900,1902,1905],{"class":742,"line":930},[740,1886,1858],{"class":768},[740,1888,867],{"class":745},[740,1890,1863],{"class":764},[740,1892,878],{"class":768},[740,1894,1895],{"class":1372},"'admin_init'",[740,1897,1871],{"class":768},[740,1899,1874],{"class":749},[740,1901,887],{"class":768},[740,1903,1904],{"class":1372},"'registerSettings'",[740,1906,1882],{"class":768},[740,1908,1909],{"class":742,"line":936},[740,1910,901],{"class":768},[740,1912,1913],{"class":742,"line":965},[740,1914,756],{"emptyLinePlaceholder":755},[740,1916,1917,1919,1921,1924,1926,1928],{"class":742,"line":979},[740,1918,830],{"class":745},[740,1920,833],{"class":745},[740,1922,1923],{"class":764}," registerMenus",[740,1925,839],{"class":768},[740,1927,842],{"class":745},[740,1929,845],{"class":745},[740,1931,1932],{"class":742,"line":984},[740,1933,851],{"class":768},[740,1935,1936,1939],{"class":742,"line":1677},[740,1937,1938],{"class":764},"        add_menu_page",[740,1940,1941],{"class":768},"(\n",[740,1943,1944,1947,1949,1952,1954,1956,1958,1960,1962,1965],{"class":742,"line":1683},[740,1945,1946],{"class":764},"            __",[740,1948,878],{"class":768},[740,1950,1951],{"class":1372},"'My Plugin'",[740,1953,887],{"class":768},[740,1955,1874],{"class":749},[740,1957,867],{"class":745},[740,1959,1301],{"class":768},[740,1961,867],{"class":745},[740,1963,1964],{"class":764},"textDomain",[740,1966,1967],{"class":768},"()),\n",[740,1969,1970,1972,1974,1976,1978,1980,1982,1984,1986,1988],{"class":742,"line":1688},[740,1971,1946],{"class":764},[740,1973,878],{"class":768},[740,1975,1951],{"class":1372},[740,1977,887],{"class":768},[740,1979,1874],{"class":749},[740,1981,867],{"class":745},[740,1983,1301],{"class":768},[740,1985,867],{"class":745},[740,1987,1964],{"class":764},[740,1989,1967],{"class":768},[740,1991,1992,1995],{"class":742,"line":1703},[740,1993,1994],{"class":1372},"            'manage_options'",[740,1996,1388],{"class":768},[740,1998,1999,2002,2004,2006,2008,2011],{"class":742,"line":1708},[740,2000,2001],{"class":749},"            $this",[740,2003,867],{"class":745},[740,2005,1301],{"class":768},[740,2007,867],{"class":745},[740,2009,2010],{"class":764},"slug",[740,2012,2013],{"class":768},"(),\n",[740,2015,2017,2020,2022,2024,2027],{"class":742,"line":2016},29,[740,2018,2019],{"class":768},"            [",[740,2021,1874],{"class":749},[740,2023,887],{"class":768},[740,2025,2026],{"class":1372},"'renderDashboard'",[740,2028,2029],{"class":768},"],\n",[740,2031,2033,2036],{"class":742,"line":2032},30,[740,2034,2035],{"class":1372},"            'dashicons-admin-plugins'",[740,2037,1388],{"class":768},[740,2039,2041],{"class":742,"line":2040},31,[740,2042,2043],{"class":749},"            30\n",[740,2045,2047],{"class":742,"line":2046},32,[740,2048,2049],{"class":768},"        );\n",[740,2051,2053],{"class":742,"line":2052},33,[740,2054,901],{"class":768},[740,2056,2058],{"class":742,"line":2057},34,[740,2059,756],{"emptyLinePlaceholder":755},[740,2061,2063,2065,2067,2070,2072,2074],{"class":742,"line":2062},35,[740,2064,830],{"class":745},[740,2066,833],{"class":745},[740,2068,2069],{"class":764}," renderDashboard",[740,2071,839],{"class":768},[740,2073,842],{"class":745},[740,2075,845],{"class":745},[740,2077,2079],{"class":742,"line":2078},36,[740,2080,851],{"class":768},[740,2082,2084,2087,2089,2091,2093,2095,2097,2099,2101,2104,2106],{"class":742,"line":2083},37,[740,2085,2086],{"class":768},"        $view ",[740,2088,942],{"class":745},[740,2090,945],{"class":749},[740,2092,867],{"class":745},[740,2094,870],{"class":768},[740,2096,867],{"class":745},[740,2098,954],{"class":764},[740,2100,878],{"class":768},[740,2102,2103],{"class":749},"ViewFactory",[740,2105,884],{"class":745},[740,2107,895],{"class":768},[740,2109,2111,2114,2117,2119,2122,2124,2127],{"class":742,"line":2110},38,[740,2112,2113],{"class":749},"        echo",[740,2115,2116],{"class":768}," $view",[740,2118,867],{"class":745},[740,2120,2121],{"class":764},"render",[740,2123,878],{"class":768},[740,2125,2126],{"class":1372},"'admin\u002Fdashboard'",[740,2128,895],{"class":768},[740,2130,2132],{"class":742,"line":2131},39,[740,2133,901],{"class":768},[740,2135,2137],{"class":742,"line":2136},40,[740,2138,987],{"class":768},[1087,2140,2142],{"id":2141},"database-service-provider","Database Service Provider",[730,2144,2146],{"className":732,"code":2145,"language":734,"meta":735,"style":735},"\u003C?php\n\nnamespace Vendor\\MyPlugin\\Providers;\n\nuse WPZylos\\Framework\\Core\\ServiceProvider;\nuse WPZylos\\Framework\\Database\\Connection;\n\nclass DatabaseServiceProvider extends ServiceProvider\n{\n    public function register(): void\n    {\n        $this->container->singleton(Connection::class, function () {\n            return new Connection($this->context);\n        });\n    }\n}\n",[737,2147,2148,2154,2158,2166,2170,2178,2187,2191,2202,2206,2220,2224,2251,2270,2275,2279],{"__ignoreMap":735},[740,2149,2150,2152],{"class":742,"line":6},[740,2151,746],{"class":745},[740,2153,750],{"class":749},[740,2155,2156],{"class":742,"line":29},[740,2157,756],{"emptyLinePlaceholder":755},[740,2159,2160,2162,2164],{"class":742,"line":14},[740,2161,761],{"class":745},[740,2163,765],{"class":764},[740,2165,769],{"class":768},[740,2167,2168],{"class":742,"line":18},[740,2169,756],{"emptyLinePlaceholder":755},[740,2171,2172,2174,2176],{"class":742,"line":70},[740,2173,778],{"class":745},[740,2175,781],{"class":749},[740,2177,769],{"class":768},[740,2179,2180,2182,2185],{"class":742,"line":74},[740,2181,778],{"class":745},[740,2183,2184],{"class":749}," WPZylos\\Framework\\Database\\Connection",[740,2186,769],{"class":768},[740,2188,2189],{"class":742,"line":78},[740,2190,756],{"emptyLinePlaceholder":755},[740,2192,2193,2195,2198,2200],{"class":742,"line":82},[740,2194,810],{"class":745},[740,2196,2197],{"class":764}," DatabaseServiceProvider",[740,2199,816],{"class":745},[740,2201,819],{"class":764},[740,2203,2204],{"class":742,"line":86},[740,2205,824],{"class":768},[740,2207,2208,2210,2212,2214,2216,2218],{"class":742,"line":90},[740,2209,830],{"class":745},[740,2211,833],{"class":745},[740,2213,836],{"class":764},[740,2215,839],{"class":768},[740,2217,842],{"class":745},[740,2219,845],{"class":745},[740,2221,2222],{"class":742,"line":827},[740,2223,851],{"class":768},[740,2225,2226,2228,2230,2232,2234,2236,2238,2241,2243,2245,2248],{"class":742,"line":848},[740,2227,864],{"class":749},[740,2229,867],{"class":745},[740,2231,870],{"class":768},[740,2233,867],{"class":745},[740,2235,875],{"class":764},[740,2237,878],{"class":768},[740,2239,2240],{"class":749},"Connection",[740,2242,884],{"class":745},[740,2244,887],{"class":768},[740,2246,2247],{"class":745},"function",[740,2249,2250],{"class":768}," () {\n",[740,2252,2253,2255,2258,2261,2263,2265,2267],{"class":742,"line":854},[740,2254,1813],{"class":745},[740,2256,2257],{"class":745}," new",[740,2259,2260],{"class":749}," Connection",[740,2262,878],{"class":768},[740,2264,1874],{"class":749},[740,2266,867],{"class":745},[740,2268,2269],{"class":768},"context);\n",[740,2271,2272],{"class":742,"line":861},[740,2273,2274],{"class":768},"        });\n",[740,2276,2277],{"class":742,"line":898},[740,2278,901],{"class":768},[740,2280,2281],{"class":742,"line":904},[740,2282,987],{"class":768},[705,2284,2286],{"id":2285},"deferred-providers","Deferred Providers",[701,2288,2289],{},"For performance, providers can defer registration until needed:",[730,2291,2293],{"className":732,"code":2292,"language":734,"meta":735,"style":735},"\u003C?php\n\nnamespace Vendor\\MyPlugin\\Providers;\n\nuse WPZylos\\Framework\\Core\\ServiceProvider;\nuse WPZylos\\Framework\\Core\\Contracts\\DeferrableProvider;\n\nclass HeavyServiceProvider extends ServiceProvider implements DeferrableProvider\n{\n    public function provides(): array\n    {\n        return [\n            HeavyService::class,\n            AnotherHeavyService::class,\n        ];\n    }\n\n    public function register(): void\n    {\n        \u002F\u002F Only called when HeavyService is first requested\n        $this->container->singleton(HeavyService::class, ...);\n    }\n}\n",[737,2294,2295,2301,2305,2313,2317,2325,2334,2338,2356,2360,2376,2380,2387,2396,2405,2410,2414,2418,2432,2436,2441,2466,2470],{"__ignoreMap":735},[740,2296,2297,2299],{"class":742,"line":6},[740,2298,746],{"class":745},[740,2300,750],{"class":749},[740,2302,2303],{"class":742,"line":29},[740,2304,756],{"emptyLinePlaceholder":755},[740,2306,2307,2309,2311],{"class":742,"line":14},[740,2308,761],{"class":745},[740,2310,765],{"class":764},[740,2312,769],{"class":768},[740,2314,2315],{"class":742,"line":18},[740,2316,756],{"emptyLinePlaceholder":755},[740,2318,2319,2321,2323],{"class":742,"line":70},[740,2320,778],{"class":745},[740,2322,781],{"class":749},[740,2324,769],{"class":768},[740,2326,2327,2329,2332],{"class":742,"line":74},[740,2328,778],{"class":745},[740,2330,2331],{"class":749}," WPZylos\\Framework\\Core\\Contracts\\DeferrableProvider",[740,2333,769],{"class":768},[740,2335,2336],{"class":742,"line":78},[740,2337,756],{"emptyLinePlaceholder":755},[740,2339,2340,2342,2345,2347,2350,2353],{"class":742,"line":82},[740,2341,810],{"class":745},[740,2343,2344],{"class":764}," HeavyServiceProvider",[740,2346,816],{"class":745},[740,2348,2349],{"class":764}," ServiceProvider",[740,2351,2352],{"class":745}," implements",[740,2354,2355],{"class":764}," DeferrableProvider\n",[740,2357,2358],{"class":742,"line":86},[740,2359,824],{"class":768},[740,2361,2362,2364,2366,2369,2371,2373],{"class":742,"line":90},[740,2363,830],{"class":745},[740,2365,833],{"class":745},[740,2367,2368],{"class":764}," provides",[740,2370,839],{"class":768},[740,2372,842],{"class":745},[740,2374,2375],{"class":745}," array\n",[740,2377,2378],{"class":742,"line":827},[740,2379,851],{"class":768},[740,2381,2382,2385],{"class":742,"line":848},[740,2383,2384],{"class":745},"        return",[740,2386,1367],{"class":768},[740,2388,2389,2392,2394],{"class":742,"line":854},[740,2390,2391],{"class":749},"            HeavyService",[740,2393,884],{"class":745},[740,2395,1388],{"class":768},[740,2397,2398,2401,2403],{"class":742,"line":861},[740,2399,2400],{"class":749},"            AnotherHeavyService",[740,2402,884],{"class":745},[740,2404,1388],{"class":768},[740,2406,2407],{"class":742,"line":898},[740,2408,2409],{"class":768},"        ];\n",[740,2411,2412],{"class":742,"line":904},[740,2413,901],{"class":768},[740,2415,2416],{"class":742,"line":909},[740,2417,756],{"emptyLinePlaceholder":755},[740,2419,2420,2422,2424,2426,2428,2430],{"class":742,"line":925},[740,2421,830],{"class":745},[740,2423,833],{"class":745},[740,2425,836],{"class":764},[740,2427,839],{"class":768},[740,2429,842],{"class":745},[740,2431,845],{"class":745},[740,2433,2434],{"class":742,"line":930},[740,2435,851],{"class":768},[740,2437,2438],{"class":742,"line":936},[740,2439,2440],{"class":857},"        \u002F\u002F Only called when HeavyService is first requested\n",[740,2442,2443,2445,2447,2449,2451,2453,2455,2458,2460,2462,2464],{"class":742,"line":965},[740,2444,864],{"class":749},[740,2446,867],{"class":745},[740,2448,870],{"class":768},[740,2450,867],{"class":745},[740,2452,875],{"class":764},[740,2454,878],{"class":768},[740,2456,2457],{"class":749},"HeavyService",[740,2459,884],{"class":745},[740,2461,887],{"class":768},[740,2463,1326],{"class":745},[740,2465,895],{"class":768},[740,2467,2468],{"class":742,"line":979},[740,2469,901],{"class":768},[740,2471,2472],{"class":742,"line":984},[740,2473,987],{"class":768},[705,2475,2477],{"id":2476},"best-practices","Best Practices",[1087,2479,2481],{"id":2480},"good-keep-register-quick","Good: Keep register() Quick",[730,2483,2485],{"className":732,"code":2484,"language":734,"meta":735,"style":735},"public function register(): void\n{\n    \u002F\u002F Good: Good: Just bind, don't resolve\n    $this->container->singleton(Logger::class, FileLogger::class);\n}\n",[737,2486,2487,2502,2506,2511,2540],{"__ignoreMap":735},[740,2488,2489,2492,2494,2496,2498,2500],{"class":742,"line":6},[740,2490,2491],{"class":745},"public",[740,2493,833],{"class":745},[740,2495,836],{"class":764},[740,2497,839],{"class":768},[740,2499,842],{"class":745},[740,2501,845],{"class":745},[740,2503,2504],{"class":742,"line":29},[740,2505,824],{"class":768},[740,2507,2508],{"class":742,"line":14},[740,2509,2510],{"class":857},"    \u002F\u002F Good: Good: Just bind, don't resolve\n",[740,2512,2513,2516,2518,2520,2522,2524,2526,2529,2531,2533,2536,2538],{"class":742,"line":18},[740,2514,2515],{"class":749},"    $this",[740,2517,867],{"class":745},[740,2519,870],{"class":768},[740,2521,867],{"class":745},[740,2523,875],{"class":764},[740,2525,878],{"class":768},[740,2527,2528],{"class":749},"Logger",[740,2530,884],{"class":745},[740,2532,887],{"class":768},[740,2534,2535],{"class":749},"FileLogger",[740,2537,884],{"class":745},[740,2539,895],{"class":768},[740,2541,2542],{"class":742,"line":70},[740,2543,987],{"class":768},[1087,2545,2547],{"id":2546},"bad-dont-resolve-in-register","Bad: Don't Resolve in register()",[730,2549,2551],{"className":732,"code":2550,"language":734,"meta":735,"style":735},"public function register(): void\n{\n    \u002F\u002F Bad: Bad: Resolving other services\n    $config = $this->container->get(Config::class);\n\n    \u002F\u002F Other providers may not have registered Config yet!\n}\n",[737,2552,2553,2567,2571,2576,2602,2606,2611],{"__ignoreMap":735},[740,2554,2555,2557,2559,2561,2563,2565],{"class":742,"line":6},[740,2556,2491],{"class":745},[740,2558,833],{"class":745},[740,2560,836],{"class":764},[740,2562,839],{"class":768},[740,2564,842],{"class":745},[740,2566,845],{"class":745},[740,2568,2569],{"class":742,"line":29},[740,2570,824],{"class":768},[740,2572,2573],{"class":742,"line":14},[740,2574,2575],{"class":857},"    \u002F\u002F Bad: Bad: Resolving other services\n",[740,2577,2578,2581,2583,2585,2587,2589,2591,2593,2595,2598,2600],{"class":742,"line":18},[740,2579,2580],{"class":768},"    $config ",[740,2582,942],{"class":745},[740,2584,945],{"class":749},[740,2586,867],{"class":745},[740,2588,870],{"class":768},[740,2590,867],{"class":745},[740,2592,954],{"class":764},[740,2594,878],{"class":768},[740,2596,2597],{"class":749},"Config",[740,2599,884],{"class":745},[740,2601,895],{"class":768},[740,2603,2604],{"class":742,"line":70},[740,2605,756],{"emptyLinePlaceholder":755},[740,2607,2608],{"class":742,"line":74},[740,2609,2610],{"class":857},"    \u002F\u002F Other providers may not have registered Config yet!\n",[740,2612,2613],{"class":742,"line":78},[740,2614,987],{"class":768},[1087,2616,2618],{"id":2617},"good-use-boot-for-cross-service-logic","Good: Use boot() for Cross-Service Logic",[730,2620,2622],{"className":732,"code":2621,"language":734,"meta":735,"style":735},"public function boot(): void\n{\n    \u002F\u002F Good: Good: All services are registered\n    $config = $this->container->get(Config::class);\n    $logger = $this->container->get(Logger::class);\n\n    if ($config->get('logging.enabled')) {\n        $logger->enable();\n    }\n}\n",[737,2623,2624,2638,2642,2647,2671,2696,2700,2720,2732,2736],{"__ignoreMap":735},[740,2625,2626,2628,2630,2632,2634,2636],{"class":742,"line":6},[740,2627,2491],{"class":745},[740,2629,833],{"class":745},[740,2631,916],{"class":764},[740,2633,839],{"class":768},[740,2635,842],{"class":745},[740,2637,845],{"class":745},[740,2639,2640],{"class":742,"line":29},[740,2641,824],{"class":768},[740,2643,2644],{"class":742,"line":14},[740,2645,2646],{"class":857},"    \u002F\u002F Good: Good: All services are registered\n",[740,2648,2649,2651,2653,2655,2657,2659,2661,2663,2665,2667,2669],{"class":742,"line":18},[740,2650,2580],{"class":768},[740,2652,942],{"class":745},[740,2654,945],{"class":749},[740,2656,867],{"class":745},[740,2658,870],{"class":768},[740,2660,867],{"class":745},[740,2662,954],{"class":764},[740,2664,878],{"class":768},[740,2666,2597],{"class":749},[740,2668,884],{"class":745},[740,2670,895],{"class":768},[740,2672,2673,2676,2678,2680,2682,2684,2686,2688,2690,2692,2694],{"class":742,"line":70},[740,2674,2675],{"class":768},"    $logger ",[740,2677,942],{"class":745},[740,2679,945],{"class":749},[740,2681,867],{"class":745},[740,2683,870],{"class":768},[740,2685,867],{"class":745},[740,2687,954],{"class":764},[740,2689,878],{"class":768},[740,2691,2528],{"class":749},[740,2693,884],{"class":745},[740,2695,895],{"class":768},[740,2697,2698],{"class":742,"line":74},[740,2699,756],{"emptyLinePlaceholder":755},[740,2701,2702,2705,2708,2710,2712,2714,2717],{"class":742,"line":78},[740,2703,2704],{"class":745},"    if",[740,2706,2707],{"class":768}," ($config",[740,2709,867],{"class":745},[740,2711,954],{"class":764},[740,2713,878],{"class":768},[740,2715,2716],{"class":1372},"'logging.enabled'",[740,2718,2719],{"class":768},")) {\n",[740,2721,2722,2725,2727,2730],{"class":742,"line":82},[740,2723,2724],{"class":768},"        $logger",[740,2726,867],{"class":745},[740,2728,2729],{"class":764},"enable",[740,2731,976],{"class":768},[740,2733,2734],{"class":742,"line":86},[740,2735,901],{"class":768},[740,2737,2738],{"class":742,"line":90},[740,2739,987],{"class":768},[1087,2741,2743],{"id":2742},"good-check-context-before-admin-only-work","Good: Check Context Before Admin-Only Work",[730,2745,2747],{"className":732,"code":2746,"language":734,"meta":735,"style":735},"public function boot(): void\n{\n    \u002F\u002F Good: Good: Skip unnecessary work\n    if (!is_admin()) {\n        return;\n    }\n\n    $this->registerAdminHooks();\n}\n",[737,2748,2749,2763,2767,2772,2784,2790,2794,2798,2809],{"__ignoreMap":735},[740,2750,2751,2753,2755,2757,2759,2761],{"class":742,"line":6},[740,2752,2491],{"class":745},[740,2754,833],{"class":745},[740,2756,916],{"class":764},[740,2758,839],{"class":768},[740,2760,842],{"class":745},[740,2762,845],{"class":745},[740,2764,2765],{"class":742,"line":29},[740,2766,824],{"class":768},[740,2768,2769],{"class":742,"line":14},[740,2770,2771],{"class":857},"    \u002F\u002F Good: Good: Skip unnecessary work\n",[740,2773,2774,2776,2778,2780,2782],{"class":742,"line":18},[740,2775,2704],{"class":745},[740,2777,1652],{"class":768},[740,2779,1804],{"class":745},[740,2781,1655],{"class":764},[740,2783,1658],{"class":768},[740,2785,2786,2788],{"class":742,"line":70},[740,2787,2384],{"class":745},[740,2789,769],{"class":768},[740,2791,2792],{"class":742,"line":74},[740,2793,901],{"class":768},[740,2795,2796],{"class":742,"line":78},[740,2797,756],{"emptyLinePlaceholder":755},[740,2799,2800,2802,2804,2807],{"class":742,"line":82},[740,2801,2515],{"class":749},[740,2803,867],{"class":745},[740,2805,2806],{"class":764},"registerAdminHooks",[740,2808,976],{"class":768},[740,2810,2811],{"class":742,"line":86},[740,2812,987],{"class":768},[705,2814,2816],{"id":2815},"testing-providers","Testing Providers",[730,2818,2820],{"className":732,"code":2819,"language":734,"meta":735,"style":735},"public function testProviderRegistersServices(): void\n{\n    $context = $this->createMock(ContextInterface::class);\n    $container = new Container();\n\n    $provider = new DatabaseServiceProvider($context, $container);\n    $provider->register();\n\n    $this->assertTrue($container->has(Connection::class));\n}\n",[737,2821,2822,2837,2841,2864,2877,2881,2895,2907,2911,2937],{"__ignoreMap":735},[740,2823,2824,2826,2828,2831,2833,2835],{"class":742,"line":6},[740,2825,2491],{"class":745},[740,2827,833],{"class":745},[740,2829,2830],{"class":764}," testProviderRegistersServices",[740,2832,839],{"class":768},[740,2834,842],{"class":745},[740,2836,845],{"class":745},[740,2838,2839],{"class":742,"line":29},[740,2840,824],{"class":768},[740,2842,2843,2846,2848,2850,2852,2855,2857,2860,2862],{"class":742,"line":14},[740,2844,2845],{"class":768},"    $context ",[740,2847,942],{"class":745},[740,2849,945],{"class":749},[740,2851,867],{"class":745},[740,2853,2854],{"class":764},"createMock",[740,2856,878],{"class":768},[740,2858,2859],{"class":749},"ContextInterface",[740,2861,884],{"class":745},[740,2863,895],{"class":768},[740,2865,2866,2869,2871,2873,2875],{"class":742,"line":18},[740,2867,2868],{"class":768},"    $container ",[740,2870,942],{"class":745},[740,2872,2257],{"class":745},[740,2874,1262],{"class":749},[740,2876,976],{"class":768},[740,2878,2879],{"class":742,"line":70},[740,2880,756],{"emptyLinePlaceholder":755},[740,2882,2883,2886,2888,2890,2892],{"class":742,"line":74},[740,2884,2885],{"class":768},"    $provider ",[740,2887,942],{"class":745},[740,2889,2257],{"class":745},[740,2891,2197],{"class":749},[740,2893,2894],{"class":768},"($context, $container);\n",[740,2896,2897,2900,2902,2905],{"class":742,"line":78},[740,2898,2899],{"class":768},"    $provider",[740,2901,867],{"class":745},[740,2903,2904],{"class":764},"register",[740,2906,976],{"class":768},[740,2908,2909],{"class":742,"line":82},[740,2910,756],{"emptyLinePlaceholder":755},[740,2912,2913,2915,2917,2920,2923,2925,2928,2930,2932,2934],{"class":742,"line":86},[740,2914,2515],{"class":749},[740,2916,867],{"class":745},[740,2918,2919],{"class":764},"assertTrue",[740,2921,2922],{"class":768},"($container",[740,2924,867],{"class":745},[740,2926,2927],{"class":764},"has",[740,2929,878],{"class":768},[740,2931,2240],{"class":749},[740,2933,884],{"class":745},[740,2935,2936],{"class":768},"));\n",[740,2938,2939],{"class":742,"line":90},[740,2940,987],{"class":768},[705,2942,2944],{"id":2943},"next-steps","Next Steps",[2946,2947,2948,2955],"ul",{},[716,2949,2950,2954],{},[2951,2952,43],"a",{"href":2953},"lifecycle"," — When providers run",[716,2956,2957,2960],{},[2951,2958,37],{"href":2959},"hooks"," — Register hooks in boot()",[2962,2963,2964],"style",{},"html pre.shiki code .szBVR, html code.shiki .szBVR{--shiki-default:#D73A49;--shiki-dark:#F97583}html pre.shiki code .sj4cs, html code.shiki .sj4cs{--shiki-default:#005CC5;--shiki-dark:#79B8FF}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 .sJ8bj, html code.shiki .sJ8bj{--shiki-default:#6A737D;--shiki-dark:#6A737D}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":735,"searchDepth":29,"depth":29,"links":2966},[2967,2968,2969,2973,2977,2982,2983,2989,2990],{"id":707,"depth":29,"text":708},{"id":990,"depth":29,"text":991},{"id":1084,"depth":29,"text":1085,"children":2970},[2971,2972],{"id":1089,"depth":14,"text":1090},{"id":1209,"depth":14,"text":1210},{"id":1339,"depth":29,"text":1340,"children":2974},[2975,2976],{"id":1343,"depth":14,"text":1344},{"id":1419,"depth":14,"text":1420},{"id":1449,"depth":29,"text":1450,"children":2978},[2979,2980,2981],{"id":1453,"depth":14,"text":1454},{"id":1713,"depth":14,"text":1714},{"id":2141,"depth":14,"text":2142},{"id":2285,"depth":29,"text":2286},{"id":2476,"depth":29,"text":2477,"children":2984},[2985,2986,2987,2988],{"id":2480,"depth":14,"text":2481},{"id":2546,"depth":14,"text":2547},{"id":2617,"depth":14,"text":2618},{"id":2742,"depth":14,"text":2743},{"id":2815,"depth":29,"text":2816},{"id":2943,"depth":29,"text":2944},"md",{},{"title":49,"description":703},"docs\u002Flatest\u002Fconcepts\u002Fservice-providers","CZOXN36SsgZjocKX9si736K6gfrOCZgEkyOb2xwjlQU",[2997,2998,2999,3000,3001,3002,3003,3004,3005,3006,3007,3008,3010,3011,3012,3013,3014,3015,3016,3017,3018,3019,3021,3022,3023,3024,3025,3026,3027,3028,3029,3030,3032,3033,3034,3035,3036,3037,3038,3039,3040,3041,3043,3044,3045,3046,3047,3048,3049,3050,3051,3052,3054,3055,3056,3057,3058,3059,3060,3061,3062,3063,3065,3066,3067,3068,3069,3070,3071,3072,3073,3074,3076,3077,3078,3079,3080,3081,3082,3083,3084,3085,3087,3088,3089,3090,3091,3092,3093,3094,3095,3096,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,3162,3163,3164,3165,3166,3167,3168,3169,3170,3171,3173,3174,3175,3176,3177,3178,3179,3180,3181,3182,3184,3185,3186,3187,3188,3189,3190,3191,3192,3193,3195,3196,3197,3198,3199,3200,3201,3202,3203,3204,3206,3207,3208,3209,3210,3211,3212,3213,3214,3215,3217,3218,3219,3220,3221,3222,3223,3224,3225,3226,3227,3228,3230,3231,3232,3233,3234,3235,3236,3237,3238,3239,3240,3241,3242,3244,3245,3246,3247,3248,3249,3250,3251,3252,3253,3255,3256,3257,3258,3259,3260,3261,3262,3263,3265,3266,3267,3268,3269,3270,3271,3272,3273,3274,3276,3277,3278,3279,3280,3281,3282,3283,3284,3285,3287,3288,3289,3290,3291,3292,3293,3294,3295,3296,3297,3298,3299,3300,3301,3302,3303,3308,3312],{"path":10,"title":5,"sectionKey":7,"sectionOrder":6,"itemOrder":6,"packageName":735,"depth":6},{"path":12,"title":13,"sectionKey":7,"sectionOrder":6,"itemOrder":14,"packageName":735,"depth":29},{"path":16,"title":17,"sectionKey":7,"sectionOrder":6,"itemOrder":18,"packageName":735,"depth":29},{"path":20,"title":21,"sectionKey":7,"sectionOrder":6,"itemOrder":22,"packageName":735,"depth":29},{"path":24,"title":25,"sectionKey":7,"sectionOrder":6,"itemOrder":22,"packageName":735,"depth":29},{"path":33,"title":34,"sectionKey":30,"sectionOrder":29,"itemOrder":22,"packageName":735,"depth":29},{"path":36,"title":37,"sectionKey":30,"sectionOrder":29,"itemOrder":22,"packageName":735,"depth":29},{"path":39,"title":40,"sectionKey":30,"sectionOrder":29,"itemOrder":22,"packageName":735,"depth":29},{"path":42,"title":43,"sectionKey":30,"sectionOrder":29,"itemOrder":22,"packageName":735,"depth":29},{"path":45,"title":46,"sectionKey":30,"sectionOrder":29,"itemOrder":22,"packageName":735,"depth":29},{"path":48,"title":49,"sectionKey":30,"sectionOrder":29,"itemOrder":22,"packageName":735,"depth":29},{"path":58,"title":59,"sectionKey":53,"sectionOrder":14,"itemOrder":6,"packageName":3009,"depth":29},"wpzylos-assets",{"path":61,"title":62,"sectionKey":53,"sectionOrder":14,"itemOrder":29,"packageName":3009,"depth":14},{"path":64,"title":13,"sectionKey":53,"sectionOrder":14,"itemOrder":14,"packageName":3009,"depth":14},{"path":66,"title":17,"sectionKey":53,"sectionOrder":14,"itemOrder":18,"packageName":3009,"depth":14},{"path":68,"title":69,"sectionKey":53,"sectionOrder":14,"itemOrder":70,"packageName":3009,"depth":14},{"path":72,"title":73,"sectionKey":53,"sectionOrder":14,"itemOrder":74,"packageName":3009,"depth":14},{"path":76,"title":77,"sectionKey":53,"sectionOrder":14,"itemOrder":78,"packageName":3009,"depth":14},{"path":80,"title":81,"sectionKey":53,"sectionOrder":14,"itemOrder":82,"packageName":3009,"depth":14},{"path":84,"title":85,"sectionKey":53,"sectionOrder":14,"itemOrder":86,"packageName":3009,"depth":14},{"path":88,"title":89,"sectionKey":53,"sectionOrder":14,"itemOrder":90,"packageName":3009,"depth":14},{"path":93,"title":94,"sectionKey":53,"sectionOrder":14,"itemOrder":6,"packageName":3020,"depth":29},"wpzylos-cli-core",{"path":96,"title":62,"sectionKey":53,"sectionOrder":14,"itemOrder":29,"packageName":3020,"depth":14},{"path":98,"title":13,"sectionKey":53,"sectionOrder":14,"itemOrder":14,"packageName":3020,"depth":14},{"path":100,"title":17,"sectionKey":53,"sectionOrder":14,"itemOrder":18,"packageName":3020,"depth":14},{"path":102,"title":69,"sectionKey":53,"sectionOrder":14,"itemOrder":70,"packageName":3020,"depth":14},{"path":104,"title":73,"sectionKey":53,"sectionOrder":14,"itemOrder":74,"packageName":3020,"depth":14},{"path":106,"title":77,"sectionKey":53,"sectionOrder":14,"itemOrder":78,"packageName":3020,"depth":14},{"path":108,"title":81,"sectionKey":53,"sectionOrder":14,"itemOrder":82,"packageName":3020,"depth":14},{"path":110,"title":111,"sectionKey":53,"sectionOrder":14,"itemOrder":86,"packageName":3020,"depth":14},{"path":113,"title":89,"sectionKey":53,"sectionOrder":14,"itemOrder":90,"packageName":3020,"depth":14},{"path":116,"title":117,"sectionKey":53,"sectionOrder":14,"itemOrder":6,"packageName":3031,"depth":29},"wpzylos-cli-devtool",{"path":119,"title":62,"sectionKey":53,"sectionOrder":14,"itemOrder":29,"packageName":3031,"depth":14},{"path":121,"title":13,"sectionKey":53,"sectionOrder":14,"itemOrder":14,"packageName":3031,"depth":14},{"path":123,"title":17,"sectionKey":53,"sectionOrder":14,"itemOrder":18,"packageName":3031,"depth":14},{"path":125,"title":69,"sectionKey":53,"sectionOrder":14,"itemOrder":70,"packageName":3031,"depth":14},{"path":127,"title":73,"sectionKey":53,"sectionOrder":14,"itemOrder":74,"packageName":3031,"depth":14},{"path":129,"title":77,"sectionKey":53,"sectionOrder":14,"itemOrder":78,"packageName":3031,"depth":14},{"path":131,"title":81,"sectionKey":53,"sectionOrder":14,"itemOrder":82,"packageName":3031,"depth":14},{"path":133,"title":111,"sectionKey":53,"sectionOrder":14,"itemOrder":86,"packageName":3031,"depth":14},{"path":135,"title":89,"sectionKey":53,"sectionOrder":14,"itemOrder":90,"packageName":3031,"depth":14},{"path":138,"title":139,"sectionKey":53,"sectionOrder":14,"itemOrder":6,"packageName":3042,"depth":29},"wpzylos-config",{"path":141,"title":62,"sectionKey":53,"sectionOrder":14,"itemOrder":29,"packageName":3042,"depth":14},{"path":143,"title":13,"sectionKey":53,"sectionOrder":14,"itemOrder":14,"packageName":3042,"depth":14},{"path":145,"title":17,"sectionKey":53,"sectionOrder":14,"itemOrder":18,"packageName":3042,"depth":14},{"path":147,"title":69,"sectionKey":53,"sectionOrder":14,"itemOrder":70,"packageName":3042,"depth":14},{"path":149,"title":73,"sectionKey":53,"sectionOrder":14,"itemOrder":74,"packageName":3042,"depth":14},{"path":151,"title":77,"sectionKey":53,"sectionOrder":14,"itemOrder":78,"packageName":3042,"depth":14},{"path":153,"title":81,"sectionKey":53,"sectionOrder":14,"itemOrder":82,"packageName":3042,"depth":14},{"path":155,"title":111,"sectionKey":53,"sectionOrder":14,"itemOrder":86,"packageName":3042,"depth":14},{"path":157,"title":89,"sectionKey":53,"sectionOrder":14,"itemOrder":90,"packageName":3042,"depth":14},{"path":160,"title":161,"sectionKey":53,"sectionOrder":14,"itemOrder":6,"packageName":3053,"depth":29},"wpzylos-container",{"path":163,"title":62,"sectionKey":53,"sectionOrder":14,"itemOrder":29,"packageName":3053,"depth":14},{"path":165,"title":13,"sectionKey":53,"sectionOrder":14,"itemOrder":14,"packageName":3053,"depth":14},{"path":167,"title":17,"sectionKey":53,"sectionOrder":14,"itemOrder":18,"packageName":3053,"depth":14},{"path":169,"title":69,"sectionKey":53,"sectionOrder":14,"itemOrder":70,"packageName":3053,"depth":14},{"path":171,"title":73,"sectionKey":53,"sectionOrder":14,"itemOrder":74,"packageName":3053,"depth":14},{"path":173,"title":77,"sectionKey":53,"sectionOrder":14,"itemOrder":78,"packageName":3053,"depth":14},{"path":175,"title":81,"sectionKey":53,"sectionOrder":14,"itemOrder":82,"packageName":3053,"depth":14},{"path":177,"title":111,"sectionKey":53,"sectionOrder":14,"itemOrder":86,"packageName":3053,"depth":14},{"path":179,"title":89,"sectionKey":53,"sectionOrder":14,"itemOrder":90,"packageName":3053,"depth":14},{"path":182,"title":183,"sectionKey":53,"sectionOrder":14,"itemOrder":6,"packageName":3064,"depth":29},"wpzylos-core",{"path":185,"title":62,"sectionKey":53,"sectionOrder":14,"itemOrder":29,"packageName":3064,"depth":14},{"path":187,"title":13,"sectionKey":53,"sectionOrder":14,"itemOrder":14,"packageName":3064,"depth":14},{"path":189,"title":17,"sectionKey":53,"sectionOrder":14,"itemOrder":18,"packageName":3064,"depth":14},{"path":191,"title":69,"sectionKey":53,"sectionOrder":14,"itemOrder":70,"packageName":3064,"depth":14},{"path":193,"title":73,"sectionKey":53,"sectionOrder":14,"itemOrder":74,"packageName":3064,"depth":14},{"path":195,"title":77,"sectionKey":53,"sectionOrder":14,"itemOrder":78,"packageName":3064,"depth":14},{"path":197,"title":81,"sectionKey":53,"sectionOrder":14,"itemOrder":82,"packageName":3064,"depth":14},{"path":199,"title":111,"sectionKey":53,"sectionOrder":14,"itemOrder":86,"packageName":3064,"depth":14},{"path":201,"title":89,"sectionKey":53,"sectionOrder":14,"itemOrder":90,"packageName":3064,"depth":14},{"path":204,"title":205,"sectionKey":53,"sectionOrder":14,"itemOrder":6,"packageName":3075,"depth":29},"wpzylos-database",{"path":207,"title":62,"sectionKey":53,"sectionOrder":14,"itemOrder":29,"packageName":3075,"depth":14},{"path":209,"title":13,"sectionKey":53,"sectionOrder":14,"itemOrder":14,"packageName":3075,"depth":14},{"path":211,"title":17,"sectionKey":53,"sectionOrder":14,"itemOrder":18,"packageName":3075,"depth":14},{"path":213,"title":69,"sectionKey":53,"sectionOrder":14,"itemOrder":70,"packageName":3075,"depth":14},{"path":215,"title":73,"sectionKey":53,"sectionOrder":14,"itemOrder":74,"packageName":3075,"depth":14},{"path":217,"title":77,"sectionKey":53,"sectionOrder":14,"itemOrder":78,"packageName":3075,"depth":14},{"path":219,"title":81,"sectionKey":53,"sectionOrder":14,"itemOrder":82,"packageName":3075,"depth":14},{"path":221,"title":111,"sectionKey":53,"sectionOrder":14,"itemOrder":86,"packageName":3075,"depth":14},{"path":223,"title":89,"sectionKey":53,"sectionOrder":14,"itemOrder":90,"packageName":3075,"depth":14},{"path":226,"title":227,"sectionKey":53,"sectionOrder":14,"itemOrder":6,"packageName":3086,"depth":29},"wpzylos-events",{"path":229,"title":62,"sectionKey":53,"sectionOrder":14,"itemOrder":29,"packageName":3086,"depth":14},{"path":231,"title":13,"sectionKey":53,"sectionOrder":14,"itemOrder":14,"packageName":3086,"depth":14},{"path":233,"title":17,"sectionKey":53,"sectionOrder":14,"itemOrder":18,"packageName":3086,"depth":14},{"path":235,"title":69,"sectionKey":53,"sectionOrder":14,"itemOrder":70,"packageName":3086,"depth":14},{"path":237,"title":73,"sectionKey":53,"sectionOrder":14,"itemOrder":74,"packageName":3086,"depth":14},{"path":239,"title":77,"sectionKey":53,"sectionOrder":14,"itemOrder":78,"packageName":3086,"depth":14},{"path":241,"title":81,"sectionKey":53,"sectionOrder":14,"itemOrder":82,"packageName":3086,"depth":14},{"path":243,"title":85,"sectionKey":53,"sectionOrder":14,"itemOrder":86,"packageName":3086,"depth":14},{"path":245,"title":89,"sectionKey":53,"sectionOrder":14,"itemOrder":90,"packageName":3086,"depth":14},{"path":248,"title":249,"sectionKey":53,"sectionOrder":14,"itemOrder":6,"packageName":3097,"depth":29},"wpzylos-hooks",{"path":251,"title":62,"sectionKey":53,"sectionOrder":14,"itemOrder":29,"packageName":3097,"depth":14},{"path":253,"title":13,"sectionKey":53,"sectionOrder":14,"itemOrder":14,"packageName":3097,"depth":14},{"path":255,"title":17,"sectionKey":53,"sectionOrder":14,"itemOrder":18,"packageName":3097,"depth":14},{"path":257,"title":258,"sectionKey":53,"sectionOrder":14,"itemOrder":70,"packageName":3097,"depth":14},{"path":260,"title":73,"sectionKey":53,"sectionOrder":14,"itemOrder":74,"packageName":3097,"depth":14},{"path":262,"title":77,"sectionKey":53,"sectionOrder":14,"itemOrder":78,"packageName":3097,"depth":14},{"path":264,"title":81,"sectionKey":53,"sectionOrder":14,"itemOrder":82,"packageName":3097,"depth":14},{"path":266,"title":111,"sectionKey":53,"sectionOrder":14,"itemOrder":86,"packageName":3097,"depth":14},{"path":268,"title":89,"sectionKey":53,"sectionOrder":14,"itemOrder":90,"packageName":3097,"depth":14},{"path":271,"title":272,"sectionKey":53,"sectionOrder":14,"itemOrder":6,"packageName":3108,"depth":29},"wpzylos-http",{"path":274,"title":62,"sectionKey":53,"sectionOrder":14,"itemOrder":29,"packageName":3108,"depth":14},{"path":276,"title":13,"sectionKey":53,"sectionOrder":14,"itemOrder":14,"packageName":3108,"depth":14},{"path":278,"title":17,"sectionKey":53,"sectionOrder":14,"itemOrder":18,"packageName":3108,"depth":14},{"path":280,"title":258,"sectionKey":53,"sectionOrder":14,"itemOrder":70,"packageName":3108,"depth":14},{"path":282,"title":73,"sectionKey":53,"sectionOrder":14,"itemOrder":74,"packageName":3108,"depth":14},{"path":284,"title":77,"sectionKey":53,"sectionOrder":14,"itemOrder":78,"packageName":3108,"depth":14},{"path":286,"title":81,"sectionKey":53,"sectionOrder":14,"itemOrder":82,"packageName":3108,"depth":14},{"path":288,"title":111,"sectionKey":53,"sectionOrder":14,"itemOrder":86,"packageName":3108,"depth":14},{"path":290,"title":89,"sectionKey":53,"sectionOrder":14,"itemOrder":90,"packageName":3108,"depth":14},{"path":293,"title":294,"sectionKey":53,"sectionOrder":14,"itemOrder":6,"packageName":3119,"depth":29},"wpzylos-i18n",{"path":296,"title":62,"sectionKey":53,"sectionOrder":14,"itemOrder":29,"packageName":3119,"depth":14},{"path":298,"title":13,"sectionKey":53,"sectionOrder":14,"itemOrder":14,"packageName":3119,"depth":14},{"path":300,"title":17,"sectionKey":53,"sectionOrder":14,"itemOrder":18,"packageName":3119,"depth":14},{"path":302,"title":69,"sectionKey":53,"sectionOrder":14,"itemOrder":70,"packageName":3119,"depth":14},{"path":304,"title":73,"sectionKey":53,"sectionOrder":14,"itemOrder":74,"packageName":3119,"depth":14},{"path":306,"title":77,"sectionKey":53,"sectionOrder":14,"itemOrder":78,"packageName":3119,"depth":14},{"path":308,"title":81,"sectionKey":53,"sectionOrder":14,"itemOrder":82,"packageName":3119,"depth":14},{"path":310,"title":111,"sectionKey":53,"sectionOrder":14,"itemOrder":86,"packageName":3119,"depth":14},{"path":312,"title":89,"sectionKey":53,"sectionOrder":14,"itemOrder":90,"packageName":3119,"depth":14},{"path":315,"title":316,"sectionKey":53,"sectionOrder":14,"itemOrder":6,"packageName":3130,"depth":29},"wpzylos-logger",{"path":318,"title":62,"sectionKey":53,"sectionOrder":14,"itemOrder":29,"packageName":3130,"depth":14},{"path":320,"title":13,"sectionKey":53,"sectionOrder":14,"itemOrder":14,"packageName":3130,"depth":14},{"path":322,"title":17,"sectionKey":53,"sectionOrder":14,"itemOrder":18,"packageName":3130,"depth":14},{"path":324,"title":69,"sectionKey":53,"sectionOrder":14,"itemOrder":70,"packageName":3130,"depth":14},{"path":326,"title":73,"sectionKey":53,"sectionOrder":14,"itemOrder":74,"packageName":3130,"depth":14},{"path":328,"title":77,"sectionKey":53,"sectionOrder":14,"itemOrder":78,"packageName":3130,"depth":14},{"path":330,"title":81,"sectionKey":53,"sectionOrder":14,"itemOrder":82,"packageName":3130,"depth":14},{"path":332,"title":111,"sectionKey":53,"sectionOrder":14,"itemOrder":86,"packageName":3130,"depth":14},{"path":334,"title":89,"sectionKey":53,"sectionOrder":14,"itemOrder":90,"packageName":3130,"depth":14},{"path":337,"title":338,"sectionKey":53,"sectionOrder":14,"itemOrder":6,"packageName":3141,"depth":29},"wpzylos-mail",{"path":340,"title":62,"sectionKey":53,"sectionOrder":14,"itemOrder":29,"packageName":3141,"depth":14},{"path":342,"title":13,"sectionKey":53,"sectionOrder":14,"itemOrder":14,"packageName":3141,"depth":14},{"path":344,"title":17,"sectionKey":53,"sectionOrder":14,"itemOrder":18,"packageName":3141,"depth":14},{"path":346,"title":258,"sectionKey":53,"sectionOrder":14,"itemOrder":70,"packageName":3141,"depth":14},{"path":348,"title":73,"sectionKey":53,"sectionOrder":14,"itemOrder":74,"packageName":3141,"depth":14},{"path":350,"title":77,"sectionKey":53,"sectionOrder":14,"itemOrder":78,"packageName":3141,"depth":14},{"path":352,"title":81,"sectionKey":53,"sectionOrder":14,"itemOrder":82,"packageName":3141,"depth":14},{"path":354,"title":85,"sectionKey":53,"sectionOrder":14,"itemOrder":86,"packageName":3141,"depth":14},{"path":356,"title":89,"sectionKey":53,"sectionOrder":14,"itemOrder":90,"packageName":3141,"depth":14},{"path":359,"title":360,"sectionKey":53,"sectionOrder":14,"itemOrder":6,"packageName":3152,"depth":29},"wpzylos-mcp",{"path":362,"title":62,"sectionKey":53,"sectionOrder":14,"itemOrder":29,"packageName":3152,"depth":14},{"path":364,"title":13,"sectionKey":53,"sectionOrder":14,"itemOrder":14,"packageName":3152,"depth":14},{"path":366,"title":258,"sectionKey":53,"sectionOrder":14,"itemOrder":70,"packageName":3152,"depth":14},{"path":368,"title":73,"sectionKey":53,"sectionOrder":14,"itemOrder":74,"packageName":3152,"depth":14},{"path":370,"title":77,"sectionKey":53,"sectionOrder":14,"itemOrder":78,"packageName":3152,"depth":14},{"path":372,"title":89,"sectionKey":53,"sectionOrder":14,"itemOrder":90,"packageName":3152,"depth":14},{"path":374,"title":375,"sectionKey":53,"sectionOrder":14,"itemOrder":22,"packageName":3152,"depth":14},{"path":378,"title":379,"sectionKey":53,"sectionOrder":14,"itemOrder":6,"packageName":3161,"depth":29},"wpzylos-migrations",{"path":381,"title":62,"sectionKey":53,"sectionOrder":14,"itemOrder":29,"packageName":3161,"depth":14},{"path":383,"title":13,"sectionKey":53,"sectionOrder":14,"itemOrder":14,"packageName":3161,"depth":14},{"path":385,"title":17,"sectionKey":53,"sectionOrder":14,"itemOrder":18,"packageName":3161,"depth":14},{"path":387,"title":69,"sectionKey":53,"sectionOrder":14,"itemOrder":70,"packageName":3161,"depth":14},{"path":389,"title":73,"sectionKey":53,"sectionOrder":14,"itemOrder":74,"packageName":3161,"depth":14},{"path":391,"title":77,"sectionKey":53,"sectionOrder":14,"itemOrder":78,"packageName":3161,"depth":14},{"path":393,"title":81,"sectionKey":53,"sectionOrder":14,"itemOrder":82,"packageName":3161,"depth":14},{"path":395,"title":111,"sectionKey":53,"sectionOrder":14,"itemOrder":86,"packageName":3161,"depth":14},{"path":397,"title":89,"sectionKey":53,"sectionOrder":14,"itemOrder":90,"packageName":3161,"depth":14},{"path":400,"title":401,"sectionKey":53,"sectionOrder":14,"itemOrder":6,"packageName":3172,"depth":29},"wpzylos-model",{"path":403,"title":62,"sectionKey":53,"sectionOrder":14,"itemOrder":29,"packageName":3172,"depth":14},{"path":405,"title":13,"sectionKey":53,"sectionOrder":14,"itemOrder":14,"packageName":3172,"depth":14},{"path":407,"title":17,"sectionKey":53,"sectionOrder":14,"itemOrder":18,"packageName":3172,"depth":14},{"path":409,"title":69,"sectionKey":53,"sectionOrder":14,"itemOrder":70,"packageName":3172,"depth":14},{"path":411,"title":73,"sectionKey":53,"sectionOrder":14,"itemOrder":74,"packageName":3172,"depth":14},{"path":413,"title":77,"sectionKey":53,"sectionOrder":14,"itemOrder":78,"packageName":3172,"depth":14},{"path":415,"title":81,"sectionKey":53,"sectionOrder":14,"itemOrder":82,"packageName":3172,"depth":14},{"path":417,"title":85,"sectionKey":53,"sectionOrder":14,"itemOrder":86,"packageName":3172,"depth":14},{"path":419,"title":89,"sectionKey":53,"sectionOrder":14,"itemOrder":90,"packageName":3172,"depth":14},{"path":422,"title":423,"sectionKey":53,"sectionOrder":14,"itemOrder":6,"packageName":3183,"depth":29},"wpzylos-notification",{"path":425,"title":62,"sectionKey":53,"sectionOrder":14,"itemOrder":29,"packageName":3183,"depth":14},{"path":427,"title":13,"sectionKey":53,"sectionOrder":14,"itemOrder":14,"packageName":3183,"depth":14},{"path":429,"title":17,"sectionKey":53,"sectionOrder":14,"itemOrder":18,"packageName":3183,"depth":14},{"path":431,"title":69,"sectionKey":53,"sectionOrder":14,"itemOrder":70,"packageName":3183,"depth":14},{"path":433,"title":73,"sectionKey":53,"sectionOrder":14,"itemOrder":74,"packageName":3183,"depth":14},{"path":435,"title":77,"sectionKey":53,"sectionOrder":14,"itemOrder":78,"packageName":3183,"depth":14},{"path":437,"title":81,"sectionKey":53,"sectionOrder":14,"itemOrder":82,"packageName":3183,"depth":14},{"path":439,"title":85,"sectionKey":53,"sectionOrder":14,"itemOrder":86,"packageName":3183,"depth":14},{"path":441,"title":89,"sectionKey":53,"sectionOrder":14,"itemOrder":90,"packageName":3183,"depth":14},{"path":444,"title":445,"sectionKey":53,"sectionOrder":14,"itemOrder":6,"packageName":3194,"depth":29},"wpzylos-queue",{"path":447,"title":62,"sectionKey":53,"sectionOrder":14,"itemOrder":29,"packageName":3194,"depth":14},{"path":449,"title":13,"sectionKey":53,"sectionOrder":14,"itemOrder":14,"packageName":3194,"depth":14},{"path":451,"title":17,"sectionKey":53,"sectionOrder":14,"itemOrder":18,"packageName":3194,"depth":14},{"path":453,"title":69,"sectionKey":53,"sectionOrder":14,"itemOrder":70,"packageName":3194,"depth":14},{"path":455,"title":73,"sectionKey":53,"sectionOrder":14,"itemOrder":74,"packageName":3194,"depth":14},{"path":457,"title":77,"sectionKey":53,"sectionOrder":14,"itemOrder":78,"packageName":3194,"depth":14},{"path":459,"title":81,"sectionKey":53,"sectionOrder":14,"itemOrder":82,"packageName":3194,"depth":14},{"path":461,"title":85,"sectionKey":53,"sectionOrder":14,"itemOrder":86,"packageName":3194,"depth":14},{"path":463,"title":89,"sectionKey":53,"sectionOrder":14,"itemOrder":90,"packageName":3194,"depth":14},{"path":466,"title":467,"sectionKey":53,"sectionOrder":14,"itemOrder":6,"packageName":3205,"depth":29},"wpzylos-requirements",{"path":469,"title":62,"sectionKey":53,"sectionOrder":14,"itemOrder":29,"packageName":3205,"depth":14},{"path":471,"title":13,"sectionKey":53,"sectionOrder":14,"itemOrder":14,"packageName":3205,"depth":14},{"path":473,"title":17,"sectionKey":53,"sectionOrder":14,"itemOrder":18,"packageName":3205,"depth":14},{"path":475,"title":69,"sectionKey":53,"sectionOrder":14,"itemOrder":70,"packageName":3205,"depth":14},{"path":477,"title":73,"sectionKey":53,"sectionOrder":14,"itemOrder":74,"packageName":3205,"depth":14},{"path":479,"title":77,"sectionKey":53,"sectionOrder":14,"itemOrder":78,"packageName":3205,"depth":14},{"path":481,"title":81,"sectionKey":53,"sectionOrder":14,"itemOrder":82,"packageName":3205,"depth":14},{"path":483,"title":85,"sectionKey":53,"sectionOrder":14,"itemOrder":86,"packageName":3205,"depth":14},{"path":485,"title":89,"sectionKey":53,"sectionOrder":14,"itemOrder":90,"packageName":3205,"depth":14},{"path":488,"title":489,"sectionKey":53,"sectionOrder":14,"itemOrder":6,"packageName":3216,"depth":29},"wpzylos-routing",{"path":491,"title":62,"sectionKey":53,"sectionOrder":14,"itemOrder":29,"packageName":3216,"depth":14},{"path":493,"title":13,"sectionKey":53,"sectionOrder":14,"itemOrder":14,"packageName":3216,"depth":14},{"path":495,"title":17,"sectionKey":53,"sectionOrder":14,"itemOrder":18,"packageName":3216,"depth":14},{"path":497,"title":69,"sectionKey":53,"sectionOrder":14,"itemOrder":70,"packageName":3216,"depth":14},{"path":499,"title":73,"sectionKey":53,"sectionOrder":14,"itemOrder":74,"packageName":3216,"depth":14},{"path":501,"title":77,"sectionKey":53,"sectionOrder":14,"itemOrder":78,"packageName":3216,"depth":14},{"path":503,"title":81,"sectionKey":53,"sectionOrder":14,"itemOrder":82,"packageName":3216,"depth":14},{"path":505,"title":85,"sectionKey":53,"sectionOrder":14,"itemOrder":86,"packageName":3216,"depth":14},{"path":507,"title":89,"sectionKey":53,"sectionOrder":14,"itemOrder":90,"packageName":3216,"depth":14},{"path":509,"title":510,"sectionKey":53,"sectionOrder":14,"itemOrder":22,"packageName":3216,"depth":14},{"path":512,"title":513,"sectionKey":53,"sectionOrder":14,"itemOrder":22,"packageName":3216,"depth":14},{"path":516,"title":517,"sectionKey":53,"sectionOrder":14,"itemOrder":6,"packageName":3229,"depth":29},"wpzylos-scaffold",{"path":519,"title":62,"sectionKey":53,"sectionOrder":14,"itemOrder":29,"packageName":3229,"depth":14},{"path":521,"title":13,"sectionKey":53,"sectionOrder":14,"itemOrder":14,"packageName":3229,"depth":14},{"path":523,"title":17,"sectionKey":53,"sectionOrder":14,"itemOrder":18,"packageName":3229,"depth":14},{"path":525,"title":69,"sectionKey":53,"sectionOrder":14,"itemOrder":70,"packageName":3229,"depth":14},{"path":527,"title":73,"sectionKey":53,"sectionOrder":14,"itemOrder":74,"packageName":3229,"depth":14},{"path":529,"title":77,"sectionKey":53,"sectionOrder":14,"itemOrder":78,"packageName":3229,"depth":14},{"path":531,"title":81,"sectionKey":53,"sectionOrder":14,"itemOrder":82,"packageName":3229,"depth":14},{"path":533,"title":534,"sectionKey":53,"sectionOrder":14,"itemOrder":82,"packageName":3229,"depth":14},{"path":536,"title":111,"sectionKey":53,"sectionOrder":14,"itemOrder":86,"packageName":3229,"depth":14},{"path":538,"title":89,"sectionKey":53,"sectionOrder":14,"itemOrder":90,"packageName":3229,"depth":14},{"path":540,"title":541,"sectionKey":53,"sectionOrder":14,"itemOrder":22,"packageName":3229,"depth":14},{"path":543,"title":544,"sectionKey":53,"sectionOrder":14,"itemOrder":22,"packageName":3229,"depth":14},{"path":547,"title":548,"sectionKey":53,"sectionOrder":14,"itemOrder":6,"packageName":3243,"depth":29},"wpzylos-scheduler",{"path":550,"title":62,"sectionKey":53,"sectionOrder":14,"itemOrder":29,"packageName":3243,"depth":14},{"path":552,"title":13,"sectionKey":53,"sectionOrder":14,"itemOrder":14,"packageName":3243,"depth":14},{"path":554,"title":17,"sectionKey":53,"sectionOrder":14,"itemOrder":18,"packageName":3243,"depth":14},{"path":556,"title":69,"sectionKey":53,"sectionOrder":14,"itemOrder":70,"packageName":3243,"depth":14},{"path":558,"title":73,"sectionKey":53,"sectionOrder":14,"itemOrder":74,"packageName":3243,"depth":14},{"path":560,"title":77,"sectionKey":53,"sectionOrder":14,"itemOrder":78,"packageName":3243,"depth":14},{"path":562,"title":81,"sectionKey":53,"sectionOrder":14,"itemOrder":82,"packageName":3243,"depth":14},{"path":564,"title":85,"sectionKey":53,"sectionOrder":14,"itemOrder":86,"packageName":3243,"depth":14},{"path":566,"title":89,"sectionKey":53,"sectionOrder":14,"itemOrder":90,"packageName":3243,"depth":14},{"path":569,"title":570,"sectionKey":53,"sectionOrder":14,"itemOrder":6,"packageName":3254,"depth":29},"wpzylos-security",{"path":572,"title":62,"sectionKey":53,"sectionOrder":14,"itemOrder":29,"packageName":3254,"depth":14},{"path":574,"title":13,"sectionKey":53,"sectionOrder":14,"itemOrder":14,"packageName":3254,"depth":14},{"path":576,"title":17,"sectionKey":53,"sectionOrder":14,"itemOrder":18,"packageName":3254,"depth":14},{"path":578,"title":258,"sectionKey":53,"sectionOrder":14,"itemOrder":70,"packageName":3254,"depth":14},{"path":580,"title":73,"sectionKey":53,"sectionOrder":14,"itemOrder":74,"packageName":3254,"depth":14},{"path":582,"title":77,"sectionKey":53,"sectionOrder":14,"itemOrder":78,"packageName":3254,"depth":14},{"path":584,"title":81,"sectionKey":53,"sectionOrder":14,"itemOrder":82,"packageName":3254,"depth":14},{"path":586,"title":89,"sectionKey":53,"sectionOrder":14,"itemOrder":90,"packageName":3254,"depth":14},{"path":589,"title":590,"sectionKey":53,"sectionOrder":14,"itemOrder":6,"packageName":3264,"depth":29},"wpzylos-validation",{"path":592,"title":62,"sectionKey":53,"sectionOrder":14,"itemOrder":29,"packageName":3264,"depth":14},{"path":594,"title":13,"sectionKey":53,"sectionOrder":14,"itemOrder":14,"packageName":3264,"depth":14},{"path":596,"title":17,"sectionKey":53,"sectionOrder":14,"itemOrder":18,"packageName":3264,"depth":14},{"path":598,"title":258,"sectionKey":53,"sectionOrder":14,"itemOrder":70,"packageName":3264,"depth":14},{"path":600,"title":73,"sectionKey":53,"sectionOrder":14,"itemOrder":74,"packageName":3264,"depth":14},{"path":602,"title":77,"sectionKey":53,"sectionOrder":14,"itemOrder":78,"packageName":3264,"depth":14},{"path":604,"title":81,"sectionKey":53,"sectionOrder":14,"itemOrder":82,"packageName":3264,"depth":14},{"path":606,"title":111,"sectionKey":53,"sectionOrder":14,"itemOrder":86,"packageName":3264,"depth":14},{"path":608,"title":89,"sectionKey":53,"sectionOrder":14,"itemOrder":90,"packageName":3264,"depth":14},{"path":611,"title":612,"sectionKey":53,"sectionOrder":14,"itemOrder":6,"packageName":3275,"depth":29},"wpzylos-views",{"path":614,"title":62,"sectionKey":53,"sectionOrder":14,"itemOrder":29,"packageName":3275,"depth":14},{"path":616,"title":13,"sectionKey":53,"sectionOrder":14,"itemOrder":14,"packageName":3275,"depth":14},{"path":618,"title":17,"sectionKey":53,"sectionOrder":14,"itemOrder":18,"packageName":3275,"depth":14},{"path":620,"title":258,"sectionKey":53,"sectionOrder":14,"itemOrder":70,"packageName":3275,"depth":14},{"path":622,"title":73,"sectionKey":53,"sectionOrder":14,"itemOrder":74,"packageName":3275,"depth":14},{"path":624,"title":77,"sectionKey":53,"sectionOrder":14,"itemOrder":78,"packageName":3275,"depth":14},{"path":626,"title":81,"sectionKey":53,"sectionOrder":14,"itemOrder":82,"packageName":3275,"depth":14},{"path":628,"title":111,"sectionKey":53,"sectionOrder":14,"itemOrder":86,"packageName":3275,"depth":14},{"path":630,"title":89,"sectionKey":53,"sectionOrder":14,"itemOrder":90,"packageName":3275,"depth":14},{"path":633,"title":634,"sectionKey":53,"sectionOrder":14,"itemOrder":6,"packageName":3286,"depth":29},"wpzylos-wp-cli",{"path":636,"title":62,"sectionKey":53,"sectionOrder":14,"itemOrder":29,"packageName":3286,"depth":14},{"path":638,"title":13,"sectionKey":53,"sectionOrder":14,"itemOrder":14,"packageName":3286,"depth":14},{"path":640,"title":17,"sectionKey":53,"sectionOrder":14,"itemOrder":18,"packageName":3286,"depth":14},{"path":642,"title":69,"sectionKey":53,"sectionOrder":14,"itemOrder":70,"packageName":3286,"depth":14},{"path":644,"title":73,"sectionKey":53,"sectionOrder":14,"itemOrder":74,"packageName":3286,"depth":14},{"path":646,"title":77,"sectionKey":53,"sectionOrder":14,"itemOrder":78,"packageName":3286,"depth":14},{"path":648,"title":81,"sectionKey":53,"sectionOrder":14,"itemOrder":82,"packageName":3286,"depth":14},{"path":650,"title":111,"sectionKey":53,"sectionOrder":14,"itemOrder":86,"packageName":3286,"depth":14},{"path":652,"title":89,"sectionKey":53,"sectionOrder":14,"itemOrder":90,"packageName":3286,"depth":14},{"path":658,"title":659,"sectionKey":655,"sectionOrder":18,"itemOrder":6,"packageName":735,"depth":6},{"path":661,"title":544,"sectionKey":655,"sectionOrder":18,"itemOrder":22,"packageName":735,"depth":29},{"path":667,"title":668,"sectionKey":664,"sectionOrder":70,"itemOrder":29,"packageName":735,"depth":29},{"path":674,"title":675,"sectionKey":671,"sectionOrder":74,"itemOrder":29,"packageName":735,"depth":29},{"path":677,"title":678,"sectionKey":671,"sectionOrder":74,"itemOrder":22,"packageName":735,"depth":29},{"path":680,"title":681,"sectionKey":671,"sectionOrder":74,"itemOrder":22,"packageName":735,"depth":29},{"path":688,"title":689,"sectionKey":685,"sectionOrder":78,"itemOrder":29,"packageName":735,"depth":29},{"path":3304,"title":3305,"sectionKey":3306,"sectionOrder":3307,"itemOrder":90,"packageName":735,"depth":6},"\u002Fdocs\u002Flatest\u002Ftroubleshooting","System Troubleshooting","troubleshooting",99,{"path":3309,"title":3310,"sectionKey":3311,"sectionOrder":3307,"itemOrder":22,"packageName":735,"depth":6},"\u002Fdocs\u002Flatest\u002Frelease-checklist","Release Checklist","release-checklist",{"path":3313,"title":3314,"sectionKey":3315,"sectionOrder":3307,"itemOrder":22,"packageName":735,"depth":6},"\u002Fdocs\u002Flatest\u002Frules","WPZylos Framework Rules","rules",1784547675816]