[{"data":1,"prerenderedAt":4497},["ShallowReactive",2],{"docs-nav":3,"doc-latest\u002Fpackages\u002Fwpzylos-routing\u002Fexamples":691,"docs-prevnext-flat":4178},[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":77,"body":693,"description":727,"extension":4172,"meta":4173,"navigation":761,"order":78,"package":4174,"path":501,"seo":4175,"stem":4176,"__hash__":4177},"content\u002Fdocs\u002Flatest\u002Fpackages\u002Fwpzylos-routing\u002Fexamples.md",{"type":694,"value":695,"toc":4158},"minimark",[696,700,707,712,717,728,732,948,951,955,1411,1413,1417,2032,2034,2038,2421,2423,2427,2431,3368,3372,3672,3674,3678,4154],[697,698,77],"h1",{"id":699},"examples",[701,702,703],"blockquote",{},[704,705,706],"p",{},"Real-world code samples for WPZylos Routing.",[708,709,711],"h2",{"id":710},"complete-plugin-example","Complete Plugin Example",[713,714,716],"h3",{"id":715},"directory-structure","Directory Structure",[718,719,724],"pre",{"className":720,"code":722,"language":723},[721],"language-text","my-plugin\u002F\n+-- plugin.php\n+-- routes\u002F\n—   +-- web.php\n—   +-- api.php\n—   +-- ajax.php\n+-- src\u002F\n    +-- Controllers\u002F\n        +-- PageController.php\n        +-- Api\u002F\n        —   +-- UserController.php\n        +-- Ajax\u002F\n            +-- SearchController.php\n","text",[725,726,722],"code",{"__ignoreMap":727},"",[713,729,731],{"id":730},"plugin-bootstrap","Plugin Bootstrap",[718,733,737],{"className":734,"code":735,"language":736,"meta":727,"style":727},"language-php shiki shiki-themes github-light github-dark","\u003C?php\n\u002F\u002F plugin.php\n\nuse WPZylos\\Framework\\Core\\Application;\nuse WPZylos\\Framework\\Core\\PluginContext;\nuse WPZylos\\Framework\\Routing\\RoutingServiceProvider;\n\n$context = PluginContext::create([\n    'file' => __FILE__,\n    'slug' => 'my-plugin',\n    'prefix' => 'myplugin_',\n    'textDomain' => 'my-plugin',\n    'version' => '1.0.0',\n]);\n\n$app = new Application($context);\n$app->register(new RoutingServiceProvider());\n$app->boot();\n","php",[725,738,739,751,757,763,775,784,793,797,818,833,845,858,870,883,889,894,911,935],{"__ignoreMap":727},[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],{"class":755},"sJ8bj","\u002F\u002F plugin.php\n",[740,758,759],{"class":742,"line":14},[740,760,762],{"emptyLinePlaceholder":761},true,"\n",[740,764,765,768,771],{"class":742,"line":18},[740,766,767],{"class":745},"use",[740,769,770],{"class":749}," WPZylos\\Framework\\Core\\Application",[740,772,774],{"class":773},"sVt8B",";\n",[740,776,777,779,782],{"class":742,"line":70},[740,778,767],{"class":745},[740,780,781],{"class":749}," WPZylos\\Framework\\Core\\PluginContext",[740,783,774],{"class":773},[740,785,786,788,791],{"class":742,"line":74},[740,787,767],{"class":745},[740,789,790],{"class":749}," WPZylos\\Framework\\Routing\\RoutingServiceProvider",[740,792,774],{"class":773},[740,794,795],{"class":742,"line":78},[740,796,762],{"emptyLinePlaceholder":761},[740,798,799,802,805,808,811,815],{"class":742,"line":82},[740,800,801],{"class":773},"$context ",[740,803,804],{"class":745},"=",[740,806,807],{"class":749}," PluginContext",[740,809,810],{"class":745},"::",[740,812,814],{"class":813},"sScJk","create",[740,816,817],{"class":773},"([\n",[740,819,820,824,827,830],{"class":742,"line":86},[740,821,823],{"class":822},"sZZnC","    'file'",[740,825,826],{"class":745}," =>",[740,828,829],{"class":749}," __FILE__",[740,831,832],{"class":773},",\n",[740,834,835,838,840,843],{"class":742,"line":90},[740,836,837],{"class":822},"    'slug'",[740,839,826],{"class":745},[740,841,842],{"class":822}," 'my-plugin'",[740,844,832],{"class":773},[740,846,848,851,853,856],{"class":742,"line":847},11,[740,849,850],{"class":822},"    'prefix'",[740,852,826],{"class":745},[740,854,855],{"class":822}," 'myplugin_'",[740,857,832],{"class":773},[740,859,861,864,866,868],{"class":742,"line":860},12,[740,862,863],{"class":822},"    'textDomain'",[740,865,826],{"class":745},[740,867,842],{"class":822},[740,869,832],{"class":773},[740,871,873,876,878,881],{"class":742,"line":872},13,[740,874,875],{"class":822},"    'version'",[740,877,826],{"class":745},[740,879,880],{"class":822}," '1.0.0'",[740,882,832],{"class":773},[740,884,886],{"class":742,"line":885},14,[740,887,888],{"class":773},"]);\n",[740,890,892],{"class":742,"line":891},15,[740,893,762],{"emptyLinePlaceholder":761},[740,895,897,900,902,905,908],{"class":742,"line":896},16,[740,898,899],{"class":773},"$app ",[740,901,804],{"class":745},[740,903,904],{"class":745}," new",[740,906,907],{"class":749}," Application",[740,909,910],{"class":773},"($context);\n",[740,912,914,917,920,923,926,929,932],{"class":742,"line":913},17,[740,915,916],{"class":773},"$app",[740,918,919],{"class":745},"->",[740,921,922],{"class":813},"register",[740,924,925],{"class":773},"(",[740,927,928],{"class":745},"new",[740,930,931],{"class":749}," RoutingServiceProvider",[740,933,934],{"class":773},"());\n",[740,936,938,940,942,945],{"class":742,"line":937},18,[740,939,916],{"class":773},[740,941,919],{"class":745},[740,943,944],{"class":813},"boot",[740,946,947],{"class":773},"();\n",[949,950],"hr",{},[708,952,954],{"id":953},"frontend-routes-example","Frontend Routes Example",[718,956,958],{"className":734,"code":957,"language":736,"meta":727,"style":727},"\u003C?php\n\u002F\u002F routes\u002Fweb.php\n\nuse App\\Controllers\\PageController;\nuse App\\Controllers\\ProductController;\n\nreturn function ($router) {\n    \u002F\u002F Static pages\n    $router->get('\u002Fabout', [PageController::class, 'about'])\n        ->name('about');\n\n    \u002F\u002F Product catalog\n    $router->get('\u002Fproducts', [ProductController::class, 'index'])\n        ->name('products.index');\n\n    $router->get('\u002Fproducts\u002F{slug}', [ProductController::class, 'show'])\n        ->where('slug', '[a-z0-9-]+')\n        ->name('products.show');\n\n    \u002F\u002F Contact form\n    $router->get('\u002Fcontact', [PageController::class, 'contact']);\n    $router->post('\u002Fcontact', [PageController::class, 'submitContact']);\n\n    \u002F\u002F Admin area\n    $router->group(['prefix' => '\u002Faccount', 'middleware' => ['auth']], function ($router) {\n        $router->get('\u002Fdashboard', [PageController::class, 'dashboard']);\n        $router->get('\u002Forders', [PageController::class, 'orders']);\n        $router->get('\u002Fprofile', [PageController::class, 'profile']);\n        $router->post('\u002Fprofile', [PageController::class, 'updateProfile']);\n    });\n};\n",[725,959,960,966,971,975,984,993,997,1008,1013,1046,1061,1065,1070,1097,1110,1114,1140,1160,1173,1178,1184,1211,1238,1243,1249,1291,1319,1346,1373,1399,1405],{"__ignoreMap":727},[740,961,962,964],{"class":742,"line":6},[740,963,746],{"class":745},[740,965,750],{"class":749},[740,967,968],{"class":742,"line":29},[740,969,970],{"class":755},"\u002F\u002F routes\u002Fweb.php\n",[740,972,973],{"class":742,"line":14},[740,974,762],{"emptyLinePlaceholder":761},[740,976,977,979,982],{"class":742,"line":18},[740,978,767],{"class":745},[740,980,981],{"class":749}," App\\Controllers\\PageController",[740,983,774],{"class":773},[740,985,986,988,991],{"class":742,"line":70},[740,987,767],{"class":745},[740,989,990],{"class":749}," App\\Controllers\\ProductController",[740,992,774],{"class":773},[740,994,995],{"class":742,"line":74},[740,996,762],{"emptyLinePlaceholder":761},[740,998,999,1002,1005],{"class":742,"line":78},[740,1000,1001],{"class":745},"return",[740,1003,1004],{"class":745}," function",[740,1006,1007],{"class":773}," ($router) {\n",[740,1009,1010],{"class":742,"line":82},[740,1011,1012],{"class":755},"    \u002F\u002F Static pages\n",[740,1014,1015,1018,1020,1023,1025,1028,1031,1034,1037,1040,1043],{"class":742,"line":86},[740,1016,1017],{"class":773},"    $router",[740,1019,919],{"class":745},[740,1021,1022],{"class":813},"get",[740,1024,925],{"class":773},[740,1026,1027],{"class":822},"'\u002Fabout'",[740,1029,1030],{"class":773},", [",[740,1032,1033],{"class":749},"PageController",[740,1035,1036],{"class":745},"::class",[740,1038,1039],{"class":773},", ",[740,1041,1042],{"class":822},"'about'",[740,1044,1045],{"class":773},"])\n",[740,1047,1048,1051,1054,1056,1058],{"class":742,"line":90},[740,1049,1050],{"class":745},"        ->",[740,1052,1053],{"class":813},"name",[740,1055,925],{"class":773},[740,1057,1042],{"class":822},[740,1059,1060],{"class":773},");\n",[740,1062,1063],{"class":742,"line":847},[740,1064,762],{"emptyLinePlaceholder":761},[740,1066,1067],{"class":742,"line":860},[740,1068,1069],{"class":755},"    \u002F\u002F Product catalog\n",[740,1071,1072,1074,1076,1078,1080,1083,1085,1088,1090,1092,1095],{"class":742,"line":872},[740,1073,1017],{"class":773},[740,1075,919],{"class":745},[740,1077,1022],{"class":813},[740,1079,925],{"class":773},[740,1081,1082],{"class":822},"'\u002Fproducts'",[740,1084,1030],{"class":773},[740,1086,1087],{"class":749},"ProductController",[740,1089,1036],{"class":745},[740,1091,1039],{"class":773},[740,1093,1094],{"class":822},"'index'",[740,1096,1045],{"class":773},[740,1098,1099,1101,1103,1105,1108],{"class":742,"line":885},[740,1100,1050],{"class":745},[740,1102,1053],{"class":813},[740,1104,925],{"class":773},[740,1106,1107],{"class":822},"'products.index'",[740,1109,1060],{"class":773},[740,1111,1112],{"class":742,"line":891},[740,1113,762],{"emptyLinePlaceholder":761},[740,1115,1116,1118,1120,1122,1124,1127,1129,1131,1133,1135,1138],{"class":742,"line":896},[740,1117,1017],{"class":773},[740,1119,919],{"class":745},[740,1121,1022],{"class":813},[740,1123,925],{"class":773},[740,1125,1126],{"class":822},"'\u002Fproducts\u002F{slug}'",[740,1128,1030],{"class":773},[740,1130,1087],{"class":749},[740,1132,1036],{"class":745},[740,1134,1039],{"class":773},[740,1136,1137],{"class":822},"'show'",[740,1139,1045],{"class":773},[740,1141,1142,1144,1147,1149,1152,1154,1157],{"class":742,"line":913},[740,1143,1050],{"class":745},[740,1145,1146],{"class":813},"where",[740,1148,925],{"class":773},[740,1150,1151],{"class":822},"'slug'",[740,1153,1039],{"class":773},[740,1155,1156],{"class":822},"'[a-z0-9-]+'",[740,1158,1159],{"class":773},")\n",[740,1161,1162,1164,1166,1168,1171],{"class":742,"line":937},[740,1163,1050],{"class":745},[740,1165,1053],{"class":813},[740,1167,925],{"class":773},[740,1169,1170],{"class":822},"'products.show'",[740,1172,1060],{"class":773},[740,1174,1176],{"class":742,"line":1175},19,[740,1177,762],{"emptyLinePlaceholder":761},[740,1179,1181],{"class":742,"line":1180},20,[740,1182,1183],{"class":755},"    \u002F\u002F Contact form\n",[740,1185,1187,1189,1191,1193,1195,1198,1200,1202,1204,1206,1209],{"class":742,"line":1186},21,[740,1188,1017],{"class":773},[740,1190,919],{"class":745},[740,1192,1022],{"class":813},[740,1194,925],{"class":773},[740,1196,1197],{"class":822},"'\u002Fcontact'",[740,1199,1030],{"class":773},[740,1201,1033],{"class":749},[740,1203,1036],{"class":745},[740,1205,1039],{"class":773},[740,1207,1208],{"class":822},"'contact'",[740,1210,888],{"class":773},[740,1212,1214,1216,1218,1221,1223,1225,1227,1229,1231,1233,1236],{"class":742,"line":1213},22,[740,1215,1017],{"class":773},[740,1217,919],{"class":745},[740,1219,1220],{"class":813},"post",[740,1222,925],{"class":773},[740,1224,1197],{"class":822},[740,1226,1030],{"class":773},[740,1228,1033],{"class":749},[740,1230,1036],{"class":745},[740,1232,1039],{"class":773},[740,1234,1235],{"class":822},"'submitContact'",[740,1237,888],{"class":773},[740,1239,1241],{"class":742,"line":1240},23,[740,1242,762],{"emptyLinePlaceholder":761},[740,1244,1246],{"class":742,"line":1245},24,[740,1247,1248],{"class":755},"    \u002F\u002F Admin area\n",[740,1250,1252,1254,1256,1259,1262,1265,1267,1270,1272,1275,1277,1280,1283,1286,1289],{"class":742,"line":1251},25,[740,1253,1017],{"class":773},[740,1255,919],{"class":745},[740,1257,1258],{"class":813},"group",[740,1260,1261],{"class":773},"([",[740,1263,1264],{"class":822},"'prefix'",[740,1266,826],{"class":745},[740,1268,1269],{"class":822}," '\u002Faccount'",[740,1271,1039],{"class":773},[740,1273,1274],{"class":822},"'middleware'",[740,1276,826],{"class":745},[740,1278,1279],{"class":773}," [",[740,1281,1282],{"class":822},"'auth'",[740,1284,1285],{"class":773},"]], ",[740,1287,1288],{"class":745},"function",[740,1290,1007],{"class":773},[740,1292,1294,1297,1299,1301,1303,1306,1308,1310,1312,1314,1317],{"class":742,"line":1293},26,[740,1295,1296],{"class":773},"        $router",[740,1298,919],{"class":745},[740,1300,1022],{"class":813},[740,1302,925],{"class":773},[740,1304,1305],{"class":822},"'\u002Fdashboard'",[740,1307,1030],{"class":773},[740,1309,1033],{"class":749},[740,1311,1036],{"class":745},[740,1313,1039],{"class":773},[740,1315,1316],{"class":822},"'dashboard'",[740,1318,888],{"class":773},[740,1320,1322,1324,1326,1328,1330,1333,1335,1337,1339,1341,1344],{"class":742,"line":1321},27,[740,1323,1296],{"class":773},[740,1325,919],{"class":745},[740,1327,1022],{"class":813},[740,1329,925],{"class":773},[740,1331,1332],{"class":822},"'\u002Forders'",[740,1334,1030],{"class":773},[740,1336,1033],{"class":749},[740,1338,1036],{"class":745},[740,1340,1039],{"class":773},[740,1342,1343],{"class":822},"'orders'",[740,1345,888],{"class":773},[740,1347,1349,1351,1353,1355,1357,1360,1362,1364,1366,1368,1371],{"class":742,"line":1348},28,[740,1350,1296],{"class":773},[740,1352,919],{"class":745},[740,1354,1022],{"class":813},[740,1356,925],{"class":773},[740,1358,1359],{"class":822},"'\u002Fprofile'",[740,1361,1030],{"class":773},[740,1363,1033],{"class":749},[740,1365,1036],{"class":745},[740,1367,1039],{"class":773},[740,1369,1370],{"class":822},"'profile'",[740,1372,888],{"class":773},[740,1374,1376,1378,1380,1382,1384,1386,1388,1390,1392,1394,1397],{"class":742,"line":1375},29,[740,1377,1296],{"class":773},[740,1379,919],{"class":745},[740,1381,1220],{"class":813},[740,1383,925],{"class":773},[740,1385,1359],{"class":822},[740,1387,1030],{"class":773},[740,1389,1033],{"class":749},[740,1391,1036],{"class":745},[740,1393,1039],{"class":773},[740,1395,1396],{"class":822},"'updateProfile'",[740,1398,888],{"class":773},[740,1400,1402],{"class":742,"line":1401},30,[740,1403,1404],{"class":773},"    });\n",[740,1406,1408],{"class":742,"line":1407},31,[740,1409,1410],{"class":773},"};\n",[949,1412],{},[708,1414,1416],{"id":1415},"rest-api-example","REST API Example",[718,1418,1420],{"className":734,"code":1419,"language":736,"meta":727,"style":727},"\u003C?php\n\u002F\u002F routes\u002Fapi.php\n\nuse App\\Controllers\\Api\\UserController;\nuse App\\Controllers\\Api\\PostController;\nuse App\\Controllers\\Api\\SettingsController;\n\nreturn function ($rest) {\n    \u002F\u002F Public endpoints\n    $rest->get('\u002Fposts', [PostController::class, 'index']);\n    $rest->get('\u002Fposts\u002F{id}', [PostController::class, 'show'])\n        ->where('id', '[0-9]+');\n\n    \u002F\u002F Authenticated endpoints\n    $rest->group(['middleware' => ['auth']], function ($rest) {\n        \u002F\u002F User profile\n        $rest->get('\u002Fme', [UserController::class, 'me']);\n        $rest->put('\u002Fme', [UserController::class, 'updateMe']);\n\n        \u002F\u002F Posts (author only)\n        $rest->post('\u002Fposts', [PostController::class, 'store'])\n            ->permission('edit_posts');\n\n        $rest->put('\u002Fposts\u002F{id}', [PostController::class, 'update'])\n            ->setPermissionCallback(fn($req) => current_user_can('edit_post', $req['id']));\n\n        $rest->delete('\u002Fposts\u002F{id}', [PostController::class, 'destroy'])\n            ->setPermissionCallback(fn($req) => current_user_can('delete_post', $req['id']));\n    });\n\n    \u002F\u002F Admin endpoints\n    $rest->group(['prefix' => '\u002Fadmin'], function ($rest) {\n        $rest->get('\u002Fusers', [UserController::class, 'index'])\n            ->permission('list_users');\n\n        $rest->get('\u002Fsettings', [SettingsController::class, 'index'])\n            ->permission('manage_options');\n\n        $rest->put('\u002Fsettings', [SettingsController::class, 'update'])\n            ->permission('manage_options');\n    });\n\n    \u002F\u002F Resource routes\n    $rest->resource('comments', CommentController::class, ['index', 'store', 'destroy']);\n};\n",[725,1421,1422,1428,1433,1437,1446,1455,1464,1468,1477,1482,1509,1534,1552,1556,1561,1585,1590,1618,1644,1648,1653,1678,1693,1697,1722,1753,1757,1783,1808,1812,1816,1821,1846,1872,1886,1891,1918,1932,1937,1962,1975,1980,1985,1991,2027],{"__ignoreMap":727},[740,1423,1424,1426],{"class":742,"line":6},[740,1425,746],{"class":745},[740,1427,750],{"class":749},[740,1429,1430],{"class":742,"line":29},[740,1431,1432],{"class":755},"\u002F\u002F routes\u002Fapi.php\n",[740,1434,1435],{"class":742,"line":14},[740,1436,762],{"emptyLinePlaceholder":761},[740,1438,1439,1441,1444],{"class":742,"line":18},[740,1440,767],{"class":745},[740,1442,1443],{"class":749}," App\\Controllers\\Api\\UserController",[740,1445,774],{"class":773},[740,1447,1448,1450,1453],{"class":742,"line":70},[740,1449,767],{"class":745},[740,1451,1452],{"class":749}," App\\Controllers\\Api\\PostController",[740,1454,774],{"class":773},[740,1456,1457,1459,1462],{"class":742,"line":74},[740,1458,767],{"class":745},[740,1460,1461],{"class":749}," App\\Controllers\\Api\\SettingsController",[740,1463,774],{"class":773},[740,1465,1466],{"class":742,"line":78},[740,1467,762],{"emptyLinePlaceholder":761},[740,1469,1470,1472,1474],{"class":742,"line":82},[740,1471,1001],{"class":745},[740,1473,1004],{"class":745},[740,1475,1476],{"class":773}," ($rest) {\n",[740,1478,1479],{"class":742,"line":86},[740,1480,1481],{"class":755},"    \u002F\u002F Public endpoints\n",[740,1483,1484,1487,1489,1491,1493,1496,1498,1501,1503,1505,1507],{"class":742,"line":90},[740,1485,1486],{"class":773},"    $rest",[740,1488,919],{"class":745},[740,1490,1022],{"class":813},[740,1492,925],{"class":773},[740,1494,1495],{"class":822},"'\u002Fposts'",[740,1497,1030],{"class":773},[740,1499,1500],{"class":749},"PostController",[740,1502,1036],{"class":745},[740,1504,1039],{"class":773},[740,1506,1094],{"class":822},[740,1508,888],{"class":773},[740,1510,1511,1513,1515,1517,1519,1522,1524,1526,1528,1530,1532],{"class":742,"line":847},[740,1512,1486],{"class":773},[740,1514,919],{"class":745},[740,1516,1022],{"class":813},[740,1518,925],{"class":773},[740,1520,1521],{"class":822},"'\u002Fposts\u002F{id}'",[740,1523,1030],{"class":773},[740,1525,1500],{"class":749},[740,1527,1036],{"class":745},[740,1529,1039],{"class":773},[740,1531,1137],{"class":822},[740,1533,1045],{"class":773},[740,1535,1536,1538,1540,1542,1545,1547,1550],{"class":742,"line":860},[740,1537,1050],{"class":745},[740,1539,1146],{"class":813},[740,1541,925],{"class":773},[740,1543,1544],{"class":822},"'id'",[740,1546,1039],{"class":773},[740,1548,1549],{"class":822},"'[0-9]+'",[740,1551,1060],{"class":773},[740,1553,1554],{"class":742,"line":872},[740,1555,762],{"emptyLinePlaceholder":761},[740,1557,1558],{"class":742,"line":885},[740,1559,1560],{"class":755},"    \u002F\u002F Authenticated endpoints\n",[740,1562,1563,1565,1567,1569,1571,1573,1575,1577,1579,1581,1583],{"class":742,"line":891},[740,1564,1486],{"class":773},[740,1566,919],{"class":745},[740,1568,1258],{"class":813},[740,1570,1261],{"class":773},[740,1572,1274],{"class":822},[740,1574,826],{"class":745},[740,1576,1279],{"class":773},[740,1578,1282],{"class":822},[740,1580,1285],{"class":773},[740,1582,1288],{"class":745},[740,1584,1476],{"class":773},[740,1586,1587],{"class":742,"line":896},[740,1588,1589],{"class":755},"        \u002F\u002F User profile\n",[740,1591,1592,1595,1597,1599,1601,1604,1606,1609,1611,1613,1616],{"class":742,"line":913},[740,1593,1594],{"class":773},"        $rest",[740,1596,919],{"class":745},[740,1598,1022],{"class":813},[740,1600,925],{"class":773},[740,1602,1603],{"class":822},"'\u002Fme'",[740,1605,1030],{"class":773},[740,1607,1608],{"class":749},"UserController",[740,1610,1036],{"class":745},[740,1612,1039],{"class":773},[740,1614,1615],{"class":822},"'me'",[740,1617,888],{"class":773},[740,1619,1620,1622,1624,1627,1629,1631,1633,1635,1637,1639,1642],{"class":742,"line":937},[740,1621,1594],{"class":773},[740,1623,919],{"class":745},[740,1625,1626],{"class":813},"put",[740,1628,925],{"class":773},[740,1630,1603],{"class":822},[740,1632,1030],{"class":773},[740,1634,1608],{"class":749},[740,1636,1036],{"class":745},[740,1638,1039],{"class":773},[740,1640,1641],{"class":822},"'updateMe'",[740,1643,888],{"class":773},[740,1645,1646],{"class":742,"line":1175},[740,1647,762],{"emptyLinePlaceholder":761},[740,1649,1650],{"class":742,"line":1180},[740,1651,1652],{"class":755},"        \u002F\u002F Posts (author only)\n",[740,1654,1655,1657,1659,1661,1663,1665,1667,1669,1671,1673,1676],{"class":742,"line":1186},[740,1656,1594],{"class":773},[740,1658,919],{"class":745},[740,1660,1220],{"class":813},[740,1662,925],{"class":773},[740,1664,1495],{"class":822},[740,1666,1030],{"class":773},[740,1668,1500],{"class":749},[740,1670,1036],{"class":745},[740,1672,1039],{"class":773},[740,1674,1675],{"class":822},"'store'",[740,1677,1045],{"class":773},[740,1679,1680,1683,1686,1688,1691],{"class":742,"line":1213},[740,1681,1682],{"class":745},"            ->",[740,1684,1685],{"class":813},"permission",[740,1687,925],{"class":773},[740,1689,1690],{"class":822},"'edit_posts'",[740,1692,1060],{"class":773},[740,1694,1695],{"class":742,"line":1240},[740,1696,762],{"emptyLinePlaceholder":761},[740,1698,1699,1701,1703,1705,1707,1709,1711,1713,1715,1717,1720],{"class":742,"line":1245},[740,1700,1594],{"class":773},[740,1702,919],{"class":745},[740,1704,1626],{"class":813},[740,1706,925],{"class":773},[740,1708,1521],{"class":822},[740,1710,1030],{"class":773},[740,1712,1500],{"class":749},[740,1714,1036],{"class":745},[740,1716,1039],{"class":773},[740,1718,1719],{"class":822},"'update'",[740,1721,1045],{"class":773},[740,1723,1724,1726,1729,1731,1734,1737,1740,1742,1745,1748,1750],{"class":742,"line":1251},[740,1725,1682],{"class":745},[740,1727,1728],{"class":813},"setPermissionCallback",[740,1730,925],{"class":773},[740,1732,1733],{"class":745},"fn",[740,1735,1736],{"class":773},"($req) => ",[740,1738,1739],{"class":813},"current_user_can",[740,1741,925],{"class":773},[740,1743,1744],{"class":822},"'edit_post'",[740,1746,1747],{"class":773},", $req[",[740,1749,1544],{"class":822},[740,1751,1752],{"class":773},"]));\n",[740,1754,1755],{"class":742,"line":1293},[740,1756,762],{"emptyLinePlaceholder":761},[740,1758,1759,1761,1763,1766,1768,1770,1772,1774,1776,1778,1781],{"class":742,"line":1321},[740,1760,1594],{"class":773},[740,1762,919],{"class":745},[740,1764,1765],{"class":813},"delete",[740,1767,925],{"class":773},[740,1769,1521],{"class":822},[740,1771,1030],{"class":773},[740,1773,1500],{"class":749},[740,1775,1036],{"class":745},[740,1777,1039],{"class":773},[740,1779,1780],{"class":822},"'destroy'",[740,1782,1045],{"class":773},[740,1784,1785,1787,1789,1791,1793,1795,1797,1799,1802,1804,1806],{"class":742,"line":1348},[740,1786,1682],{"class":745},[740,1788,1728],{"class":813},[740,1790,925],{"class":773},[740,1792,1733],{"class":745},[740,1794,1736],{"class":773},[740,1796,1739],{"class":813},[740,1798,925],{"class":773},[740,1800,1801],{"class":822},"'delete_post'",[740,1803,1747],{"class":773},[740,1805,1544],{"class":822},[740,1807,1752],{"class":773},[740,1809,1810],{"class":742,"line":1375},[740,1811,1404],{"class":773},[740,1813,1814],{"class":742,"line":1401},[740,1815,762],{"emptyLinePlaceholder":761},[740,1817,1818],{"class":742,"line":1407},[740,1819,1820],{"class":755},"    \u002F\u002F Admin endpoints\n",[740,1822,1824,1826,1828,1830,1832,1834,1836,1839,1842,1844],{"class":742,"line":1823},32,[740,1825,1486],{"class":773},[740,1827,919],{"class":745},[740,1829,1258],{"class":813},[740,1831,1261],{"class":773},[740,1833,1264],{"class":822},[740,1835,826],{"class":745},[740,1837,1838],{"class":822}," '\u002Fadmin'",[740,1840,1841],{"class":773},"], ",[740,1843,1288],{"class":745},[740,1845,1476],{"class":773},[740,1847,1849,1851,1853,1855,1857,1860,1862,1864,1866,1868,1870],{"class":742,"line":1848},33,[740,1850,1594],{"class":773},[740,1852,919],{"class":745},[740,1854,1022],{"class":813},[740,1856,925],{"class":773},[740,1858,1859],{"class":822},"'\u002Fusers'",[740,1861,1030],{"class":773},[740,1863,1608],{"class":749},[740,1865,1036],{"class":745},[740,1867,1039],{"class":773},[740,1869,1094],{"class":822},[740,1871,1045],{"class":773},[740,1873,1875,1877,1879,1881,1884],{"class":742,"line":1874},34,[740,1876,1682],{"class":745},[740,1878,1685],{"class":813},[740,1880,925],{"class":773},[740,1882,1883],{"class":822},"'list_users'",[740,1885,1060],{"class":773},[740,1887,1889],{"class":742,"line":1888},35,[740,1890,762],{"emptyLinePlaceholder":761},[740,1892,1894,1896,1898,1900,1902,1905,1907,1910,1912,1914,1916],{"class":742,"line":1893},36,[740,1895,1594],{"class":773},[740,1897,919],{"class":745},[740,1899,1022],{"class":813},[740,1901,925],{"class":773},[740,1903,1904],{"class":822},"'\u002Fsettings'",[740,1906,1030],{"class":773},[740,1908,1909],{"class":749},"SettingsController",[740,1911,1036],{"class":745},[740,1913,1039],{"class":773},[740,1915,1094],{"class":822},[740,1917,1045],{"class":773},[740,1919,1921,1923,1925,1927,1930],{"class":742,"line":1920},37,[740,1922,1682],{"class":745},[740,1924,1685],{"class":813},[740,1926,925],{"class":773},[740,1928,1929],{"class":822},"'manage_options'",[740,1931,1060],{"class":773},[740,1933,1935],{"class":742,"line":1934},38,[740,1936,762],{"emptyLinePlaceholder":761},[740,1938,1940,1942,1944,1946,1948,1950,1952,1954,1956,1958,1960],{"class":742,"line":1939},39,[740,1941,1594],{"class":773},[740,1943,919],{"class":745},[740,1945,1626],{"class":813},[740,1947,925],{"class":773},[740,1949,1904],{"class":822},[740,1951,1030],{"class":773},[740,1953,1909],{"class":749},[740,1955,1036],{"class":745},[740,1957,1039],{"class":773},[740,1959,1719],{"class":822},[740,1961,1045],{"class":773},[740,1963,1965,1967,1969,1971,1973],{"class":742,"line":1964},40,[740,1966,1682],{"class":745},[740,1968,1685],{"class":813},[740,1970,925],{"class":773},[740,1972,1929],{"class":822},[740,1974,1060],{"class":773},[740,1976,1978],{"class":742,"line":1977},41,[740,1979,1404],{"class":773},[740,1981,1983],{"class":742,"line":1982},42,[740,1984,762],{"emptyLinePlaceholder":761},[740,1986,1988],{"class":742,"line":1987},43,[740,1989,1990],{"class":755},"    \u002F\u002F Resource routes\n",[740,1992,1994,1996,1998,2001,2003,2006,2008,2011,2013,2015,2017,2019,2021,2023,2025],{"class":742,"line":1993},44,[740,1995,1486],{"class":773},[740,1997,919],{"class":745},[740,1999,2000],{"class":813},"resource",[740,2002,925],{"class":773},[740,2004,2005],{"class":822},"'comments'",[740,2007,1039],{"class":773},[740,2009,2010],{"class":749},"CommentController",[740,2012,1036],{"class":745},[740,2014,1030],{"class":773},[740,2016,1094],{"class":822},[740,2018,1039],{"class":773},[740,2020,1675],{"class":822},[740,2022,1039],{"class":773},[740,2024,1780],{"class":822},[740,2026,888],{"class":773},[740,2028,2030],{"class":742,"line":2029},45,[740,2031,1410],{"class":773},[949,2033],{},[708,2035,2037],{"id":2036},"ajax-example","AJAX Example",[718,2039,2041],{"className":734,"code":2040,"language":736,"meta":727,"style":727},"\u003C?php\n\u002F\u002F routes\u002Fajax.php\n\nuse App\\Controllers\\Ajax\\SearchController;\nuse App\\Controllers\\Ajax\\CartController;\nuse App\\Controllers\\Ajax\\SettingsController;\n\nreturn function ($ajax) {\n    \u002F\u002F Public search (no login required)\n    $ajax->public('search', [SearchController::class, 'handle'])\n        ->withoutNonce();\n\n    $ajax->public('autocomplete', [SearchController::class, 'autocomplete'])\n        ->withoutNonce();\n\n    \u002F\u002F Cart actions (session-based, public)\n    $ajax->public('add_to_cart', [CartController::class, 'add']);\n    $ajax->public('remove_from_cart', [CartController::class, 'remove']);\n    $ajax->public('update_cart', [CartController::class, 'update']);\n\n    \u002F\u002F User actions (login required)\n    $ajax->private('save_settings', [SettingsController::class, 'save']);\n    $ajax->private('update_profile', [SettingsController::class, 'updateProfile']);\n\n    \u002F\u002F Admin actions\n    $ajax->group(['middleware' => ['admin']], function ($ajax) {\n        $ajax->private('bulk_delete', [SettingsController::class, 'bulkDelete']);\n        $ajax->private('export_data', [SettingsController::class, 'export']);\n    });\n};\n",[725,2042,2043,2049,2054,2058,2067,2076,2085,2089,2098,2103,2132,2141,2145,2170,2178,2182,2187,2214,2240,2265,2269,2274,2301,2326,2330,2335,2360,2387,2413,2417],{"__ignoreMap":727},[740,2044,2045,2047],{"class":742,"line":6},[740,2046,746],{"class":745},[740,2048,750],{"class":749},[740,2050,2051],{"class":742,"line":29},[740,2052,2053],{"class":755},"\u002F\u002F routes\u002Fajax.php\n",[740,2055,2056],{"class":742,"line":14},[740,2057,762],{"emptyLinePlaceholder":761},[740,2059,2060,2062,2065],{"class":742,"line":18},[740,2061,767],{"class":745},[740,2063,2064],{"class":749}," App\\Controllers\\Ajax\\SearchController",[740,2066,774],{"class":773},[740,2068,2069,2071,2074],{"class":742,"line":70},[740,2070,767],{"class":745},[740,2072,2073],{"class":749}," App\\Controllers\\Ajax\\CartController",[740,2075,774],{"class":773},[740,2077,2078,2080,2083],{"class":742,"line":74},[740,2079,767],{"class":745},[740,2081,2082],{"class":749}," App\\Controllers\\Ajax\\SettingsController",[740,2084,774],{"class":773},[740,2086,2087],{"class":742,"line":78},[740,2088,762],{"emptyLinePlaceholder":761},[740,2090,2091,2093,2095],{"class":742,"line":82},[740,2092,1001],{"class":745},[740,2094,1004],{"class":745},[740,2096,2097],{"class":773}," ($ajax) {\n",[740,2099,2100],{"class":742,"line":86},[740,2101,2102],{"class":755},"    \u002F\u002F Public search (no login required)\n",[740,2104,2105,2108,2110,2113,2115,2118,2120,2123,2125,2127,2130],{"class":742,"line":90},[740,2106,2107],{"class":773},"    $ajax",[740,2109,919],{"class":745},[740,2111,2112],{"class":813},"public",[740,2114,925],{"class":773},[740,2116,2117],{"class":822},"'search'",[740,2119,1030],{"class":773},[740,2121,2122],{"class":749},"SearchController",[740,2124,1036],{"class":745},[740,2126,1039],{"class":773},[740,2128,2129],{"class":822},"'handle'",[740,2131,1045],{"class":773},[740,2133,2134,2136,2139],{"class":742,"line":847},[740,2135,1050],{"class":745},[740,2137,2138],{"class":813},"withoutNonce",[740,2140,947],{"class":773},[740,2142,2143],{"class":742,"line":860},[740,2144,762],{"emptyLinePlaceholder":761},[740,2146,2147,2149,2151,2153,2155,2158,2160,2162,2164,2166,2168],{"class":742,"line":872},[740,2148,2107],{"class":773},[740,2150,919],{"class":745},[740,2152,2112],{"class":813},[740,2154,925],{"class":773},[740,2156,2157],{"class":822},"'autocomplete'",[740,2159,1030],{"class":773},[740,2161,2122],{"class":749},[740,2163,1036],{"class":745},[740,2165,1039],{"class":773},[740,2167,2157],{"class":822},[740,2169,1045],{"class":773},[740,2171,2172,2174,2176],{"class":742,"line":885},[740,2173,1050],{"class":745},[740,2175,2138],{"class":813},[740,2177,947],{"class":773},[740,2179,2180],{"class":742,"line":891},[740,2181,762],{"emptyLinePlaceholder":761},[740,2183,2184],{"class":742,"line":896},[740,2185,2186],{"class":755},"    \u002F\u002F Cart actions (session-based, public)\n",[740,2188,2189,2191,2193,2195,2197,2200,2202,2205,2207,2209,2212],{"class":742,"line":913},[740,2190,2107],{"class":773},[740,2192,919],{"class":745},[740,2194,2112],{"class":813},[740,2196,925],{"class":773},[740,2198,2199],{"class":822},"'add_to_cart'",[740,2201,1030],{"class":773},[740,2203,2204],{"class":749},"CartController",[740,2206,1036],{"class":745},[740,2208,1039],{"class":773},[740,2210,2211],{"class":822},"'add'",[740,2213,888],{"class":773},[740,2215,2216,2218,2220,2222,2224,2227,2229,2231,2233,2235,2238],{"class":742,"line":937},[740,2217,2107],{"class":773},[740,2219,919],{"class":745},[740,2221,2112],{"class":813},[740,2223,925],{"class":773},[740,2225,2226],{"class":822},"'remove_from_cart'",[740,2228,1030],{"class":773},[740,2230,2204],{"class":749},[740,2232,1036],{"class":745},[740,2234,1039],{"class":773},[740,2236,2237],{"class":822},"'remove'",[740,2239,888],{"class":773},[740,2241,2242,2244,2246,2248,2250,2253,2255,2257,2259,2261,2263],{"class":742,"line":1175},[740,2243,2107],{"class":773},[740,2245,919],{"class":745},[740,2247,2112],{"class":813},[740,2249,925],{"class":773},[740,2251,2252],{"class":822},"'update_cart'",[740,2254,1030],{"class":773},[740,2256,2204],{"class":749},[740,2258,1036],{"class":745},[740,2260,1039],{"class":773},[740,2262,1719],{"class":822},[740,2264,888],{"class":773},[740,2266,2267],{"class":742,"line":1180},[740,2268,762],{"emptyLinePlaceholder":761},[740,2270,2271],{"class":742,"line":1186},[740,2272,2273],{"class":755},"    \u002F\u002F User actions (login required)\n",[740,2275,2276,2278,2280,2283,2285,2288,2290,2292,2294,2296,2299],{"class":742,"line":1213},[740,2277,2107],{"class":773},[740,2279,919],{"class":745},[740,2281,2282],{"class":813},"private",[740,2284,925],{"class":773},[740,2286,2287],{"class":822},"'save_settings'",[740,2289,1030],{"class":773},[740,2291,1909],{"class":749},[740,2293,1036],{"class":745},[740,2295,1039],{"class":773},[740,2297,2298],{"class":822},"'save'",[740,2300,888],{"class":773},[740,2302,2303,2305,2307,2309,2311,2314,2316,2318,2320,2322,2324],{"class":742,"line":1240},[740,2304,2107],{"class":773},[740,2306,919],{"class":745},[740,2308,2282],{"class":813},[740,2310,925],{"class":773},[740,2312,2313],{"class":822},"'update_profile'",[740,2315,1030],{"class":773},[740,2317,1909],{"class":749},[740,2319,1036],{"class":745},[740,2321,1039],{"class":773},[740,2323,1396],{"class":822},[740,2325,888],{"class":773},[740,2327,2328],{"class":742,"line":1245},[740,2329,762],{"emptyLinePlaceholder":761},[740,2331,2332],{"class":742,"line":1251},[740,2333,2334],{"class":755},"    \u002F\u002F Admin actions\n",[740,2336,2337,2339,2341,2343,2345,2347,2349,2351,2354,2356,2358],{"class":742,"line":1293},[740,2338,2107],{"class":773},[740,2340,919],{"class":745},[740,2342,1258],{"class":813},[740,2344,1261],{"class":773},[740,2346,1274],{"class":822},[740,2348,826],{"class":745},[740,2350,1279],{"class":773},[740,2352,2353],{"class":822},"'admin'",[740,2355,1285],{"class":773},[740,2357,1288],{"class":745},[740,2359,2097],{"class":773},[740,2361,2362,2365,2367,2369,2371,2374,2376,2378,2380,2382,2385],{"class":742,"line":1321},[740,2363,2364],{"class":773},"        $ajax",[740,2366,919],{"class":745},[740,2368,2282],{"class":813},[740,2370,925],{"class":773},[740,2372,2373],{"class":822},"'bulk_delete'",[740,2375,1030],{"class":773},[740,2377,1909],{"class":749},[740,2379,1036],{"class":745},[740,2381,1039],{"class":773},[740,2383,2384],{"class":822},"'bulkDelete'",[740,2386,888],{"class":773},[740,2388,2389,2391,2393,2395,2397,2400,2402,2404,2406,2408,2411],{"class":742,"line":1348},[740,2390,2364],{"class":773},[740,2392,919],{"class":745},[740,2394,2282],{"class":813},[740,2396,925],{"class":773},[740,2398,2399],{"class":822},"'export_data'",[740,2401,1030],{"class":773},[740,2403,1909],{"class":749},[740,2405,1036],{"class":745},[740,2407,1039],{"class":773},[740,2409,2410],{"class":822},"'export'",[740,2412,888],{"class":773},[740,2414,2415],{"class":742,"line":1375},[740,2416,1404],{"class":773},[740,2418,2419],{"class":742,"line":1401},[740,2420,1410],{"class":773},[949,2422],{},[708,2424,2426],{"id":2425},"controller-examples","Controller Examples",[713,2428,2430],{"id":2429},"rest-controller","REST Controller",[718,2432,2434],{"className":734,"code":2433,"language":736,"meta":727,"style":727},"\u003C?php\n\nnamespace App\\Controllers\\Api;\n\nuse WP_REST_Request;\nuse WP_REST_Response;\nuse WP_Error;\n\nclass PostController\n{\n    public function index(WP_REST_Request $request): array\n    {\n        $page = (int) ($request->get_param('page') ?? 1);\n        $per_page = (int) ($request->get_param('per_page') ?? 10);\n\n        $posts = get_posts([\n            'posts_per_page' => $per_page,\n            'paged' => $page,\n            'post_status' => 'publish',\n        ]);\n\n        return [\n            'data' => array_map([$this, 'transform'], $posts),\n            'meta' => [\n                'page' => $page,\n                'per_page' => $per_page,\n                'total' => wp_count_posts()->publish,\n            ],\n        ];\n    }\n\n    public function show(WP_REST_Request $request): array|WP_Error\n    {\n        $id = (int) $request->get_param('id');\n        $post = get_post($id);\n\n        if (!$post || $post->post_status !== 'publish') {\n            return new WP_Error('not_found', 'Post not found', ['status' => 404]);\n        }\n\n        return ['data' => $this->transform($post)];\n    }\n\n    public function store(WP_REST_Request $request): WP_REST_Response|WP_Error\n    {\n        $title = sanitize_text_field($request->get_param('title'));\n        $content = wp_kses_post($request->get_param('content'));\n\n        if (empty($title)) {\n            return new WP_Error('validation', 'Title is required', ['status' => 422]);\n        }\n\n        $post_id = wp_insert_post([\n            'post_title' => $title,\n            'post_content' => $content,\n            'post_status' => 'publish',\n            'post_author' => get_current_user_id(),\n        ]);\n\n        if (is_wp_error($post_id)) {\n            return $post_id;\n        }\n\n        return new WP_REST_Response(\n            ['data' => $this->transform(get_post($post_id))],\n            201\n        );\n    }\n\n    private function transform(\\WP_Post $post): array\n    {\n        return [\n            'id' => $post->ID,\n            'title' => $post->post_title,\n            'content' => $post->post_content,\n            'excerpt' => get_the_excerpt($post),\n            'author' => get_the_author_meta('display_name', $post->post_author),\n            'created_at' => $post->post_date,\n        ];\n    }\n}\n",[725,2435,2436,2442,2446,2456,2460,2469,2478,2487,2491,2499,2504,2528,2533,2570,2601,2605,2617,2627,2637,2649,2654,2658,2666,2689,2698,2707,2716,2734,2739,2744,2749,2753,2779,2783,2807,2820,2824,2856,2887,2892,2896,2918,2922,2926,2949,2953,2979,3003,3008,3021,3050,3055,3060,3073,3084,3095,3106,3120,3125,3130,3143,3151,3156,3161,3173,3197,3203,3209,3214,3219,3242,3247,3254,3269,3284,3299,3313,3337,3352,3357,3362],{"__ignoreMap":727},[740,2437,2438,2440],{"class":742,"line":6},[740,2439,746],{"class":745},[740,2441,750],{"class":749},[740,2443,2444],{"class":742,"line":29},[740,2445,762],{"emptyLinePlaceholder":761},[740,2447,2448,2451,2454],{"class":742,"line":14},[740,2449,2450],{"class":745},"namespace",[740,2452,2453],{"class":813}," App\\Controllers\\Api",[740,2455,774],{"class":773},[740,2457,2458],{"class":742,"line":18},[740,2459,762],{"emptyLinePlaceholder":761},[740,2461,2462,2464,2467],{"class":742,"line":70},[740,2463,767],{"class":745},[740,2465,2466],{"class":749}," WP_REST_Request",[740,2468,774],{"class":773},[740,2470,2471,2473,2476],{"class":742,"line":74},[740,2472,767],{"class":745},[740,2474,2475],{"class":749}," WP_REST_Response",[740,2477,774],{"class":773},[740,2479,2480,2482,2485],{"class":742,"line":78},[740,2481,767],{"class":745},[740,2483,2484],{"class":749}," WP_Error",[740,2486,774],{"class":773},[740,2488,2489],{"class":742,"line":82},[740,2490,762],{"emptyLinePlaceholder":761},[740,2492,2493,2496],{"class":742,"line":86},[740,2494,2495],{"class":745},"class",[740,2497,2498],{"class":813}," PostController\n",[740,2500,2501],{"class":742,"line":90},[740,2502,2503],{"class":773},"{\n",[740,2505,2506,2509,2511,2514,2516,2519,2522,2525],{"class":742,"line":847},[740,2507,2508],{"class":745},"    public",[740,2510,1004],{"class":745},[740,2512,2513],{"class":813}," index",[740,2515,925],{"class":773},[740,2517,2518],{"class":749},"WP_REST_Request",[740,2520,2521],{"class":773}," $request)",[740,2523,2524],{"class":745},":",[740,2526,2527],{"class":745}," array\n",[740,2529,2530],{"class":742,"line":860},[740,2531,2532],{"class":773},"    {\n",[740,2534,2535,2538,2540,2543,2546,2549,2551,2554,2556,2559,2562,2565,2568],{"class":742,"line":872},[740,2536,2537],{"class":773},"        $page ",[740,2539,804],{"class":745},[740,2541,2542],{"class":773}," (",[740,2544,2545],{"class":745},"int",[740,2547,2548],{"class":773},") ($request",[740,2550,919],{"class":745},[740,2552,2553],{"class":813},"get_param",[740,2555,925],{"class":773},[740,2557,2558],{"class":822},"'page'",[740,2560,2561],{"class":773},") ",[740,2563,2564],{"class":745},"??",[740,2566,2567],{"class":749}," 1",[740,2569,1060],{"class":773},[740,2571,2572,2575,2577,2579,2581,2583,2585,2587,2589,2592,2594,2596,2599],{"class":742,"line":885},[740,2573,2574],{"class":773},"        $per_page ",[740,2576,804],{"class":745},[740,2578,2542],{"class":773},[740,2580,2545],{"class":745},[740,2582,2548],{"class":773},[740,2584,919],{"class":745},[740,2586,2553],{"class":813},[740,2588,925],{"class":773},[740,2590,2591],{"class":822},"'per_page'",[740,2593,2561],{"class":773},[740,2595,2564],{"class":745},[740,2597,2598],{"class":749}," 10",[740,2600,1060],{"class":773},[740,2602,2603],{"class":742,"line":891},[740,2604,762],{"emptyLinePlaceholder":761},[740,2606,2607,2610,2612,2615],{"class":742,"line":896},[740,2608,2609],{"class":773},"        $posts ",[740,2611,804],{"class":745},[740,2613,2614],{"class":813}," get_posts",[740,2616,817],{"class":773},[740,2618,2619,2622,2624],{"class":742,"line":913},[740,2620,2621],{"class":822},"            'posts_per_page'",[740,2623,826],{"class":745},[740,2625,2626],{"class":773}," $per_page,\n",[740,2628,2629,2632,2634],{"class":742,"line":937},[740,2630,2631],{"class":822},"            'paged'",[740,2633,826],{"class":745},[740,2635,2636],{"class":773}," $page,\n",[740,2638,2639,2642,2644,2647],{"class":742,"line":1175},[740,2640,2641],{"class":822},"            'post_status'",[740,2643,826],{"class":745},[740,2645,2646],{"class":822}," 'publish'",[740,2648,832],{"class":773},[740,2650,2651],{"class":742,"line":1180},[740,2652,2653],{"class":773},"        ]);\n",[740,2655,2656],{"class":742,"line":1186},[740,2657,762],{"emptyLinePlaceholder":761},[740,2659,2660,2663],{"class":742,"line":1213},[740,2661,2662],{"class":745},"        return",[740,2664,2665],{"class":773}," [\n",[740,2667,2668,2671,2673,2676,2678,2681,2683,2686],{"class":742,"line":1240},[740,2669,2670],{"class":822},"            'data'",[740,2672,826],{"class":745},[740,2674,2675],{"class":749}," array_map",[740,2677,1261],{"class":773},[740,2679,2680],{"class":749},"$this",[740,2682,1039],{"class":773},[740,2684,2685],{"class":822},"'transform'",[740,2687,2688],{"class":773},"], $posts),\n",[740,2690,2691,2694,2696],{"class":742,"line":1245},[740,2692,2693],{"class":822},"            'meta'",[740,2695,826],{"class":745},[740,2697,2665],{"class":773},[740,2699,2700,2703,2705],{"class":742,"line":1251},[740,2701,2702],{"class":822},"                'page'",[740,2704,826],{"class":745},[740,2706,2636],{"class":773},[740,2708,2709,2712,2714],{"class":742,"line":1293},[740,2710,2711],{"class":822},"                'per_page'",[740,2713,826],{"class":745},[740,2715,2626],{"class":773},[740,2717,2718,2721,2723,2726,2729,2731],{"class":742,"line":1321},[740,2719,2720],{"class":822},"                'total'",[740,2722,826],{"class":745},[740,2724,2725],{"class":813}," wp_count_posts",[740,2727,2728],{"class":773},"()",[740,2730,919],{"class":745},[740,2732,2733],{"class":773},"publish,\n",[740,2735,2736],{"class":742,"line":1348},[740,2737,2738],{"class":773},"            ],\n",[740,2740,2741],{"class":742,"line":1375},[740,2742,2743],{"class":773},"        ];\n",[740,2745,2746],{"class":742,"line":1401},[740,2747,2748],{"class":773},"    }\n",[740,2750,2751],{"class":742,"line":1407},[740,2752,762],{"emptyLinePlaceholder":761},[740,2754,2755,2757,2759,2762,2764,2766,2768,2770,2773,2776],{"class":742,"line":1823},[740,2756,2508],{"class":745},[740,2758,1004],{"class":745},[740,2760,2761],{"class":813}," show",[740,2763,925],{"class":773},[740,2765,2518],{"class":749},[740,2767,2521],{"class":773},[740,2769,2524],{"class":745},[740,2771,2772],{"class":745}," array",[740,2774,2775],{"class":773},"|",[740,2777,2778],{"class":749},"WP_Error\n",[740,2780,2781],{"class":742,"line":1848},[740,2782,2532],{"class":773},[740,2784,2785,2788,2790,2792,2794,2797,2799,2801,2803,2805],{"class":742,"line":1874},[740,2786,2787],{"class":773},"        $id ",[740,2789,804],{"class":745},[740,2791,2542],{"class":773},[740,2793,2545],{"class":745},[740,2795,2796],{"class":773},") $request",[740,2798,919],{"class":745},[740,2800,2553],{"class":813},[740,2802,925],{"class":773},[740,2804,1544],{"class":822},[740,2806,1060],{"class":773},[740,2808,2809,2812,2814,2817],{"class":742,"line":1888},[740,2810,2811],{"class":773},"        $post ",[740,2813,804],{"class":745},[740,2815,2816],{"class":813}," get_post",[740,2818,2819],{"class":773},"($id);\n",[740,2821,2822],{"class":742,"line":1893},[740,2823,762],{"emptyLinePlaceholder":761},[740,2825,2826,2829,2831,2834,2837,2840,2843,2845,2848,2851,2853],{"class":742,"line":1920},[740,2827,2828],{"class":745},"        if",[740,2830,2542],{"class":773},[740,2832,2833],{"class":745},"!",[740,2835,2836],{"class":773},"$post ",[740,2838,2839],{"class":745},"||",[740,2841,2842],{"class":773}," $post",[740,2844,919],{"class":745},[740,2846,2847],{"class":773},"post_status ",[740,2849,2850],{"class":745},"!==",[740,2852,2646],{"class":822},[740,2854,2855],{"class":773},") {\n",[740,2857,2858,2861,2863,2865,2867,2870,2872,2875,2877,2880,2882,2885],{"class":742,"line":1934},[740,2859,2860],{"class":745},"            return",[740,2862,904],{"class":745},[740,2864,2484],{"class":749},[740,2866,925],{"class":773},[740,2868,2869],{"class":822},"'not_found'",[740,2871,1039],{"class":773},[740,2873,2874],{"class":822},"'Post not found'",[740,2876,1030],{"class":773},[740,2878,2879],{"class":822},"'status'",[740,2881,826],{"class":745},[740,2883,2884],{"class":749}," 404",[740,2886,888],{"class":773},[740,2888,2889],{"class":742,"line":1939},[740,2890,2891],{"class":773},"        }\n",[740,2893,2894],{"class":742,"line":1964},[740,2895,762],{"emptyLinePlaceholder":761},[740,2897,2898,2900,2902,2905,2907,2910,2912,2915],{"class":742,"line":1977},[740,2899,2662],{"class":745},[740,2901,1279],{"class":773},[740,2903,2904],{"class":822},"'data'",[740,2906,826],{"class":745},[740,2908,2909],{"class":749}," $this",[740,2911,919],{"class":745},[740,2913,2914],{"class":813},"transform",[740,2916,2917],{"class":773},"($post)];\n",[740,2919,2920],{"class":742,"line":1982},[740,2921,2748],{"class":773},[740,2923,2924],{"class":742,"line":1987},[740,2925,762],{"emptyLinePlaceholder":761},[740,2927,2928,2930,2932,2935,2937,2939,2941,2943,2945,2947],{"class":742,"line":1993},[740,2929,2508],{"class":745},[740,2931,1004],{"class":745},[740,2933,2934],{"class":813}," store",[740,2936,925],{"class":773},[740,2938,2518],{"class":749},[740,2940,2521],{"class":773},[740,2942,2524],{"class":745},[740,2944,2475],{"class":749},[740,2946,2775],{"class":773},[740,2948,2778],{"class":749},[740,2950,2951],{"class":742,"line":2029},[740,2952,2532],{"class":773},[740,2954,2956,2959,2961,2964,2967,2969,2971,2973,2976],{"class":742,"line":2955},46,[740,2957,2958],{"class":773},"        $title ",[740,2960,804],{"class":745},[740,2962,2963],{"class":813}," sanitize_text_field",[740,2965,2966],{"class":773},"($request",[740,2968,919],{"class":745},[740,2970,2553],{"class":813},[740,2972,925],{"class":773},[740,2974,2975],{"class":822},"'title'",[740,2977,2978],{"class":773},"));\n",[740,2980,2982,2985,2987,2990,2992,2994,2996,2998,3001],{"class":742,"line":2981},47,[740,2983,2984],{"class":773},"        $content ",[740,2986,804],{"class":745},[740,2988,2989],{"class":813}," wp_kses_post",[740,2991,2966],{"class":773},[740,2993,919],{"class":745},[740,2995,2553],{"class":813},[740,2997,925],{"class":773},[740,2999,3000],{"class":822},"'content'",[740,3002,2978],{"class":773},[740,3004,3006],{"class":742,"line":3005},48,[740,3007,762],{"emptyLinePlaceholder":761},[740,3009,3011,3013,3015,3018],{"class":742,"line":3010},49,[740,3012,2828],{"class":745},[740,3014,2542],{"class":773},[740,3016,3017],{"class":749},"empty",[740,3019,3020],{"class":773},"($title)) {\n",[740,3022,3023,3025,3027,3029,3031,3034,3036,3039,3041,3043,3045,3048],{"class":742,"line":22},[740,3024,2860],{"class":745},[740,3026,904],{"class":745},[740,3028,2484],{"class":749},[740,3030,925],{"class":773},[740,3032,3033],{"class":822},"'validation'",[740,3035,1039],{"class":773},[740,3037,3038],{"class":822},"'Title is required'",[740,3040,1030],{"class":773},[740,3042,2879],{"class":822},[740,3044,826],{"class":745},[740,3046,3047],{"class":749}," 422",[740,3049,888],{"class":773},[740,3051,3053],{"class":742,"line":3052},51,[740,3054,2891],{"class":773},[740,3056,3058],{"class":742,"line":3057},52,[740,3059,762],{"emptyLinePlaceholder":761},[740,3061,3063,3066,3068,3071],{"class":742,"line":3062},53,[740,3064,3065],{"class":773},"        $post_id ",[740,3067,804],{"class":745},[740,3069,3070],{"class":813}," wp_insert_post",[740,3072,817],{"class":773},[740,3074,3076,3079,3081],{"class":742,"line":3075},54,[740,3077,3078],{"class":822},"            'post_title'",[740,3080,826],{"class":745},[740,3082,3083],{"class":773}," $title,\n",[740,3085,3087,3090,3092],{"class":742,"line":3086},55,[740,3088,3089],{"class":822},"            'post_content'",[740,3091,826],{"class":745},[740,3093,3094],{"class":773}," $content,\n",[740,3096,3098,3100,3102,3104],{"class":742,"line":3097},56,[740,3099,2641],{"class":822},[740,3101,826],{"class":745},[740,3103,2646],{"class":822},[740,3105,832],{"class":773},[740,3107,3109,3112,3114,3117],{"class":742,"line":3108},57,[740,3110,3111],{"class":822},"            'post_author'",[740,3113,826],{"class":745},[740,3115,3116],{"class":813}," get_current_user_id",[740,3118,3119],{"class":773},"(),\n",[740,3121,3123],{"class":742,"line":3122},58,[740,3124,2653],{"class":773},[740,3126,3128],{"class":742,"line":3127},59,[740,3129,762],{"emptyLinePlaceholder":761},[740,3131,3133,3135,3137,3140],{"class":742,"line":3132},60,[740,3134,2828],{"class":745},[740,3136,2542],{"class":773},[740,3138,3139],{"class":813},"is_wp_error",[740,3141,3142],{"class":773},"($post_id)) {\n",[740,3144,3146,3148],{"class":742,"line":3145},61,[740,3147,2860],{"class":745},[740,3149,3150],{"class":773}," $post_id;\n",[740,3152,3154],{"class":742,"line":3153},62,[740,3155,2891],{"class":773},[740,3157,3159],{"class":742,"line":3158},63,[740,3160,762],{"emptyLinePlaceholder":761},[740,3162,3164,3166,3168,3170],{"class":742,"line":3163},64,[740,3165,2662],{"class":745},[740,3167,904],{"class":745},[740,3169,2475],{"class":749},[740,3171,3172],{"class":773},"(\n",[740,3174,3176,3179,3181,3183,3185,3187,3189,3191,3194],{"class":742,"line":3175},65,[740,3177,3178],{"class":773},"            [",[740,3180,2904],{"class":822},[740,3182,826],{"class":745},[740,3184,2909],{"class":749},[740,3186,919],{"class":745},[740,3188,2914],{"class":813},[740,3190,925],{"class":773},[740,3192,3193],{"class":813},"get_post",[740,3195,3196],{"class":773},"($post_id))],\n",[740,3198,3200],{"class":742,"line":3199},66,[740,3201,3202],{"class":749},"            201\n",[740,3204,3206],{"class":742,"line":3205},67,[740,3207,3208],{"class":773},"        );\n",[740,3210,3212],{"class":742,"line":3211},68,[740,3213,2748],{"class":773},[740,3215,3217],{"class":742,"line":3216},69,[740,3218,762],{"emptyLinePlaceholder":761},[740,3220,3222,3225,3227,3230,3232,3235,3238,3240],{"class":742,"line":3221},70,[740,3223,3224],{"class":745},"    private",[740,3226,1004],{"class":745},[740,3228,3229],{"class":813}," transform",[740,3231,925],{"class":773},[740,3233,3234],{"class":749},"\\WP_Post",[740,3236,3237],{"class":773}," $post)",[740,3239,2524],{"class":745},[740,3241,2527],{"class":745},[740,3243,3245],{"class":742,"line":3244},71,[740,3246,2532],{"class":773},[740,3248,3250,3252],{"class":742,"line":3249},72,[740,3251,2662],{"class":745},[740,3253,2665],{"class":773},[740,3255,3257,3260,3262,3264,3266],{"class":742,"line":3256},73,[740,3258,3259],{"class":822},"            'id'",[740,3261,826],{"class":745},[740,3263,2842],{"class":773},[740,3265,919],{"class":745},[740,3267,3268],{"class":773},"ID,\n",[740,3270,3272,3275,3277,3279,3281],{"class":742,"line":3271},74,[740,3273,3274],{"class":822},"            'title'",[740,3276,826],{"class":745},[740,3278,2842],{"class":773},[740,3280,919],{"class":745},[740,3282,3283],{"class":773},"post_title,\n",[740,3285,3287,3290,3292,3294,3296],{"class":742,"line":3286},75,[740,3288,3289],{"class":822},"            'content'",[740,3291,826],{"class":745},[740,3293,2842],{"class":773},[740,3295,919],{"class":745},[740,3297,3298],{"class":773},"post_content,\n",[740,3300,3302,3305,3307,3310],{"class":742,"line":3301},76,[740,3303,3304],{"class":822},"            'excerpt'",[740,3306,826],{"class":745},[740,3308,3309],{"class":813}," get_the_excerpt",[740,3311,3312],{"class":773},"($post),\n",[740,3314,3316,3319,3321,3324,3326,3329,3332,3334],{"class":742,"line":3315},77,[740,3317,3318],{"class":822},"            'author'",[740,3320,826],{"class":745},[740,3322,3323],{"class":813}," get_the_author_meta",[740,3325,925],{"class":773},[740,3327,3328],{"class":822},"'display_name'",[740,3330,3331],{"class":773},", $post",[740,3333,919],{"class":745},[740,3335,3336],{"class":773},"post_author),\n",[740,3338,3340,3343,3345,3347,3349],{"class":742,"line":3339},78,[740,3341,3342],{"class":822},"            'created_at'",[740,3344,826],{"class":745},[740,3346,2842],{"class":773},[740,3348,919],{"class":745},[740,3350,3351],{"class":773},"post_date,\n",[740,3353,3355],{"class":742,"line":3354},79,[740,3356,2743],{"class":773},[740,3358,3360],{"class":742,"line":3359},80,[740,3361,2748],{"class":773},[740,3363,3365],{"class":742,"line":3364},81,[740,3366,3367],{"class":773},"}\n",[713,3369,3371],{"id":3370},"ajax-controller","AJAX Controller",[718,3373,3375],{"className":734,"code":3374,"language":736,"meta":727,"style":727},"\u003C?php\n\nnamespace App\\Controllers\\Ajax;\n\nclass SearchController\n{\n    public function handle(): array\n    {\n        $query = sanitize_text_field($_POST['query'] ?? '');\n\n        if (strlen($query) \u003C 3) {\n            return ['results' => [], 'message' => 'Query too short'];\n        }\n\n        $results = new \\WP_Query([\n            's' => $query,\n            'posts_per_page' => 10,\n            'post_status' => 'publish',\n        ]);\n\n        return [\n            'results' => array_map(fn($post) => [\n                'id' => $post->ID,\n                'title' => $post->post_title,\n                'url' => get_permalink($post),\n                'excerpt' => get_the_excerpt($post),\n            ], $results->posts),\n            'total' => $results->found_posts,\n        ];\n    }\n}\n",[725,3376,3377,3383,3387,3396,3400,3407,3411,3426,3430,3455,3459,3479,3504,3508,3512,3526,3536,3546,3556,3560,3564,3570,3586,3599,3612,3624,3635,3645,3660,3664,3668],{"__ignoreMap":727},[740,3378,3379,3381],{"class":742,"line":6},[740,3380,746],{"class":745},[740,3382,750],{"class":749},[740,3384,3385],{"class":742,"line":29},[740,3386,762],{"emptyLinePlaceholder":761},[740,3388,3389,3391,3394],{"class":742,"line":14},[740,3390,2450],{"class":745},[740,3392,3393],{"class":813}," App\\Controllers\\Ajax",[740,3395,774],{"class":773},[740,3397,3398],{"class":742,"line":18},[740,3399,762],{"emptyLinePlaceholder":761},[740,3401,3402,3404],{"class":742,"line":70},[740,3403,2495],{"class":745},[740,3405,3406],{"class":813}," SearchController\n",[740,3408,3409],{"class":742,"line":74},[740,3410,2503],{"class":773},[740,3412,3413,3415,3417,3420,3422,3424],{"class":742,"line":78},[740,3414,2508],{"class":745},[740,3416,1004],{"class":745},[740,3418,3419],{"class":813}," handle",[740,3421,2728],{"class":773},[740,3423,2524],{"class":745},[740,3425,2527],{"class":745},[740,3427,3428],{"class":742,"line":82},[740,3429,2532],{"class":773},[740,3431,3432,3435,3437,3439,3442,3445,3448,3450,3453],{"class":742,"line":86},[740,3433,3434],{"class":773},"        $query ",[740,3436,804],{"class":745},[740,3438,2963],{"class":813},[740,3440,3441],{"class":773},"($_POST[",[740,3443,3444],{"class":822},"'query'",[740,3446,3447],{"class":773},"] ",[740,3449,2564],{"class":745},[740,3451,3452],{"class":822}," ''",[740,3454,1060],{"class":773},[740,3456,3457],{"class":742,"line":90},[740,3458,762],{"emptyLinePlaceholder":761},[740,3460,3461,3463,3465,3468,3471,3474,3477],{"class":742,"line":847},[740,3462,2828],{"class":745},[740,3464,2542],{"class":773},[740,3466,3467],{"class":749},"strlen",[740,3469,3470],{"class":773},"($query) ",[740,3472,3473],{"class":745},"\u003C",[740,3475,3476],{"class":749}," 3",[740,3478,2855],{"class":773},[740,3480,3481,3483,3485,3488,3490,3493,3496,3498,3501],{"class":742,"line":860},[740,3482,2860],{"class":745},[740,3484,1279],{"class":773},[740,3486,3487],{"class":822},"'results'",[740,3489,826],{"class":745},[740,3491,3492],{"class":773}," [], ",[740,3494,3495],{"class":822},"'message'",[740,3497,826],{"class":745},[740,3499,3500],{"class":822}," 'Query too short'",[740,3502,3503],{"class":773},"];\n",[740,3505,3506],{"class":742,"line":872},[740,3507,2891],{"class":773},[740,3509,3510],{"class":742,"line":885},[740,3511,762],{"emptyLinePlaceholder":761},[740,3513,3514,3517,3519,3521,3524],{"class":742,"line":891},[740,3515,3516],{"class":773},"        $results ",[740,3518,804],{"class":745},[740,3520,904],{"class":745},[740,3522,3523],{"class":749}," \\WP_Query",[740,3525,817],{"class":773},[740,3527,3528,3531,3533],{"class":742,"line":896},[740,3529,3530],{"class":822},"            's'",[740,3532,826],{"class":745},[740,3534,3535],{"class":773}," $query,\n",[740,3537,3538,3540,3542,3544],{"class":742,"line":913},[740,3539,2621],{"class":822},[740,3541,826],{"class":745},[740,3543,2598],{"class":749},[740,3545,832],{"class":773},[740,3547,3548,3550,3552,3554],{"class":742,"line":937},[740,3549,2641],{"class":822},[740,3551,826],{"class":745},[740,3553,2646],{"class":822},[740,3555,832],{"class":773},[740,3557,3558],{"class":742,"line":1175},[740,3559,2653],{"class":773},[740,3561,3562],{"class":742,"line":1180},[740,3563,762],{"emptyLinePlaceholder":761},[740,3565,3566,3568],{"class":742,"line":1186},[740,3567,2662],{"class":745},[740,3569,2665],{"class":773},[740,3571,3572,3575,3577,3579,3581,3583],{"class":742,"line":1213},[740,3573,3574],{"class":822},"            'results'",[740,3576,826],{"class":745},[740,3578,2675],{"class":749},[740,3580,925],{"class":773},[740,3582,1733],{"class":745},[740,3584,3585],{"class":773},"($post) => [\n",[740,3587,3588,3591,3593,3595,3597],{"class":742,"line":1240},[740,3589,3590],{"class":822},"                'id'",[740,3592,826],{"class":745},[740,3594,2842],{"class":773},[740,3596,919],{"class":745},[740,3598,3268],{"class":773},[740,3600,3601,3604,3606,3608,3610],{"class":742,"line":1245},[740,3602,3603],{"class":822},"                'title'",[740,3605,826],{"class":745},[740,3607,2842],{"class":773},[740,3609,919],{"class":745},[740,3611,3283],{"class":773},[740,3613,3614,3617,3619,3622],{"class":742,"line":1251},[740,3615,3616],{"class":822},"                'url'",[740,3618,826],{"class":745},[740,3620,3621],{"class":813}," get_permalink",[740,3623,3312],{"class":773},[740,3625,3626,3629,3631,3633],{"class":742,"line":1293},[740,3627,3628],{"class":822},"                'excerpt'",[740,3630,826],{"class":745},[740,3632,3309],{"class":813},[740,3634,3312],{"class":773},[740,3636,3637,3640,3642],{"class":742,"line":1321},[740,3638,3639],{"class":773},"            ], $results",[740,3641,919],{"class":745},[740,3643,3644],{"class":773},"posts),\n",[740,3646,3647,3650,3652,3655,3657],{"class":742,"line":1348},[740,3648,3649],{"class":822},"            'total'",[740,3651,826],{"class":745},[740,3653,3654],{"class":773}," $results",[740,3656,919],{"class":745},[740,3658,3659],{"class":773},"found_posts,\n",[740,3661,3662],{"class":742,"line":1375},[740,3663,2743],{"class":773},[740,3665,3666],{"class":742,"line":1401},[740,3667,2748],{"class":773},[740,3669,3670],{"class":742,"line":1407},[740,3671,3367],{"class":773},[949,3673],{},[708,3675,3677],{"id":3676},"middleware-example","Middleware Example",[718,3679,3681],{"className":734,"code":3680,"language":736,"meta":727,"style":727},"\u003C?php\n\nnamespace App\\Middleware;\n\nclass AuthMiddleware\n{\n    public function handle($request, callable $next): mixed\n    {\n        if (!is_user_logged_in()) {\n            if ($request instanceof \\WP_REST_Request) {\n                return new \\WP_Error('unauthorized', 'Authentication required', ['status' => 401]);\n            }\n            wp_redirect(wp_login_url());\n            exit;\n        }\n\n        return $next($request);\n    }\n}\n\nclass AdminMiddleware\n{\n    public function handle($request, callable $next): mixed\n    {\n        if (!current_user_can('manage_options')) {\n            return new \\WP_Error('forbidden', 'Admin access required', ['status' => 403]);\n        }\n\n        return $next($request);\n    }\n}\n\nclass RateLimitMiddleware\n{\n    public function handle($request, callable $next): mixed\n    {\n        $ip = $_SERVER['REMOTE_ADDR'];\n        $key = 'rate_limit_' . md5($ip);\n        $limit = 100;\n\n        $count = (int) get_transient($key);\n\n        if ($count >= $limit) {\n            return new \\WP_Error('rate_limit', 'Too many requests', ['status' => 429]);\n        }\n\n        set_transient($key, $count + 1, MINUTE_IN_SECONDS);\n\n        return $next($request);\n    }\n}\n",[725,3682,3683,3689,3693,3702,3706,3713,3717,3739,3743,3757,3773,3804,3809,3821,3828,3832,3836,3843,3847,3851,3855,3862,3866,3884,3888,3905,3934,3938,3942,3948,3952,3956,3960,3967,3971,3989,3993,4008,4027,4039,4043,4062,4066,4079,4108,4112,4116,4136,4140,4146,4150],{"__ignoreMap":727},[740,3684,3685,3687],{"class":742,"line":6},[740,3686,746],{"class":745},[740,3688,750],{"class":749},[740,3690,3691],{"class":742,"line":29},[740,3692,762],{"emptyLinePlaceholder":761},[740,3694,3695,3697,3700],{"class":742,"line":14},[740,3696,2450],{"class":745},[740,3698,3699],{"class":813}," App\\Middleware",[740,3701,774],{"class":773},[740,3703,3704],{"class":742,"line":18},[740,3705,762],{"emptyLinePlaceholder":761},[740,3707,3708,3710],{"class":742,"line":70},[740,3709,2495],{"class":745},[740,3711,3712],{"class":813}," AuthMiddleware\n",[740,3714,3715],{"class":742,"line":74},[740,3716,2503],{"class":773},[740,3718,3719,3721,3723,3725,3728,3731,3734,3736],{"class":742,"line":78},[740,3720,2508],{"class":745},[740,3722,1004],{"class":745},[740,3724,3419],{"class":813},[740,3726,3727],{"class":773},"($request, ",[740,3729,3730],{"class":745},"callable",[740,3732,3733],{"class":773}," $next)",[740,3735,2524],{"class":745},[740,3737,3738],{"class":745}," mixed\n",[740,3740,3741],{"class":742,"line":82},[740,3742,2532],{"class":773},[740,3744,3745,3747,3749,3751,3754],{"class":742,"line":86},[740,3746,2828],{"class":745},[740,3748,2542],{"class":773},[740,3750,2833],{"class":745},[740,3752,3753],{"class":813},"is_user_logged_in",[740,3755,3756],{"class":773},"()) {\n",[740,3758,3759,3762,3765,3768,3771],{"class":742,"line":90},[740,3760,3761],{"class":745},"            if",[740,3763,3764],{"class":773}," ($request ",[740,3766,3767],{"class":745},"instanceof",[740,3769,3770],{"class":749}," \\WP_REST_Request",[740,3772,2855],{"class":773},[740,3774,3775,3778,3780,3783,3785,3788,3790,3793,3795,3797,3799,3802],{"class":742,"line":847},[740,3776,3777],{"class":745},"                return",[740,3779,904],{"class":745},[740,3781,3782],{"class":749}," \\WP_Error",[740,3784,925],{"class":773},[740,3786,3787],{"class":822},"'unauthorized'",[740,3789,1039],{"class":773},[740,3791,3792],{"class":822},"'Authentication required'",[740,3794,1030],{"class":773},[740,3796,2879],{"class":822},[740,3798,826],{"class":745},[740,3800,3801],{"class":749}," 401",[740,3803,888],{"class":773},[740,3805,3806],{"class":742,"line":860},[740,3807,3808],{"class":773},"            }\n",[740,3810,3811,3814,3816,3819],{"class":742,"line":872},[740,3812,3813],{"class":813},"            wp_redirect",[740,3815,925],{"class":773},[740,3817,3818],{"class":813},"wp_login_url",[740,3820,934],{"class":773},[740,3822,3823,3826],{"class":742,"line":885},[740,3824,3825],{"class":745},"            exit",[740,3827,774],{"class":773},[740,3829,3830],{"class":742,"line":891},[740,3831,2891],{"class":773},[740,3833,3834],{"class":742,"line":896},[740,3835,762],{"emptyLinePlaceholder":761},[740,3837,3838,3840],{"class":742,"line":913},[740,3839,2662],{"class":745},[740,3841,3842],{"class":773}," $next($request);\n",[740,3844,3845],{"class":742,"line":937},[740,3846,2748],{"class":773},[740,3848,3849],{"class":742,"line":1175},[740,3850,3367],{"class":773},[740,3852,3853],{"class":742,"line":1180},[740,3854,762],{"emptyLinePlaceholder":761},[740,3856,3857,3859],{"class":742,"line":1186},[740,3858,2495],{"class":745},[740,3860,3861],{"class":813}," AdminMiddleware\n",[740,3863,3864],{"class":742,"line":1213},[740,3865,2503],{"class":773},[740,3867,3868,3870,3872,3874,3876,3878,3880,3882],{"class":742,"line":1240},[740,3869,2508],{"class":745},[740,3871,1004],{"class":745},[740,3873,3419],{"class":813},[740,3875,3727],{"class":773},[740,3877,3730],{"class":745},[740,3879,3733],{"class":773},[740,3881,2524],{"class":745},[740,3883,3738],{"class":745},[740,3885,3886],{"class":742,"line":1245},[740,3887,2532],{"class":773},[740,3889,3890,3892,3894,3896,3898,3900,3902],{"class":742,"line":1251},[740,3891,2828],{"class":745},[740,3893,2542],{"class":773},[740,3895,2833],{"class":745},[740,3897,1739],{"class":813},[740,3899,925],{"class":773},[740,3901,1929],{"class":822},[740,3903,3904],{"class":773},")) {\n",[740,3906,3907,3909,3911,3913,3915,3918,3920,3923,3925,3927,3929,3932],{"class":742,"line":1293},[740,3908,2860],{"class":745},[740,3910,904],{"class":745},[740,3912,3782],{"class":749},[740,3914,925],{"class":773},[740,3916,3917],{"class":822},"'forbidden'",[740,3919,1039],{"class":773},[740,3921,3922],{"class":822},"'Admin access required'",[740,3924,1030],{"class":773},[740,3926,2879],{"class":822},[740,3928,826],{"class":745},[740,3930,3931],{"class":749}," 403",[740,3933,888],{"class":773},[740,3935,3936],{"class":742,"line":1321},[740,3937,2891],{"class":773},[740,3939,3940],{"class":742,"line":1348},[740,3941,762],{"emptyLinePlaceholder":761},[740,3943,3944,3946],{"class":742,"line":1375},[740,3945,2662],{"class":745},[740,3947,3842],{"class":773},[740,3949,3950],{"class":742,"line":1401},[740,3951,2748],{"class":773},[740,3953,3954],{"class":742,"line":1407},[740,3955,3367],{"class":773},[740,3957,3958],{"class":742,"line":1823},[740,3959,762],{"emptyLinePlaceholder":761},[740,3961,3962,3964],{"class":742,"line":1848},[740,3963,2495],{"class":745},[740,3965,3966],{"class":813}," RateLimitMiddleware\n",[740,3968,3969],{"class":742,"line":1874},[740,3970,2503],{"class":773},[740,3972,3973,3975,3977,3979,3981,3983,3985,3987],{"class":742,"line":1888},[740,3974,2508],{"class":745},[740,3976,1004],{"class":745},[740,3978,3419],{"class":813},[740,3980,3727],{"class":773},[740,3982,3730],{"class":745},[740,3984,3733],{"class":773},[740,3986,2524],{"class":745},[740,3988,3738],{"class":745},[740,3990,3991],{"class":742,"line":1893},[740,3992,2532],{"class":773},[740,3994,3995,3998,4000,4003,4006],{"class":742,"line":1920},[740,3996,3997],{"class":773},"        $ip ",[740,3999,804],{"class":745},[740,4001,4002],{"class":773}," $_SERVER[",[740,4004,4005],{"class":822},"'REMOTE_ADDR'",[740,4007,3503],{"class":773},[740,4009,4010,4013,4015,4018,4021,4024],{"class":742,"line":1934},[740,4011,4012],{"class":773},"        $key ",[740,4014,804],{"class":745},[740,4016,4017],{"class":822}," 'rate_limit_'",[740,4019,4020],{"class":745}," .",[740,4022,4023],{"class":749}," md5",[740,4025,4026],{"class":773},"($ip);\n",[740,4028,4029,4032,4034,4037],{"class":742,"line":1939},[740,4030,4031],{"class":773},"        $limit ",[740,4033,804],{"class":745},[740,4035,4036],{"class":749}," 100",[740,4038,774],{"class":773},[740,4040,4041],{"class":742,"line":1964},[740,4042,762],{"emptyLinePlaceholder":761},[740,4044,4045,4048,4050,4052,4054,4056,4059],{"class":742,"line":1977},[740,4046,4047],{"class":773},"        $count ",[740,4049,804],{"class":745},[740,4051,2542],{"class":773},[740,4053,2545],{"class":745},[740,4055,2561],{"class":773},[740,4057,4058],{"class":813},"get_transient",[740,4060,4061],{"class":773},"($key);\n",[740,4063,4064],{"class":742,"line":1982},[740,4065,762],{"emptyLinePlaceholder":761},[740,4067,4068,4070,4073,4076],{"class":742,"line":1987},[740,4069,2828],{"class":745},[740,4071,4072],{"class":773}," ($count ",[740,4074,4075],{"class":745},">=",[740,4077,4078],{"class":773}," $limit) {\n",[740,4080,4081,4083,4085,4087,4089,4092,4094,4097,4099,4101,4103,4106],{"class":742,"line":1993},[740,4082,2860],{"class":745},[740,4084,904],{"class":745},[740,4086,3782],{"class":749},[740,4088,925],{"class":773},[740,4090,4091],{"class":822},"'rate_limit'",[740,4093,1039],{"class":773},[740,4095,4096],{"class":822},"'Too many requests'",[740,4098,1030],{"class":773},[740,4100,2879],{"class":822},[740,4102,826],{"class":745},[740,4104,4105],{"class":749}," 429",[740,4107,888],{"class":773},[740,4109,4110],{"class":742,"line":2029},[740,4111,2891],{"class":773},[740,4113,4114],{"class":742,"line":2955},[740,4115,762],{"emptyLinePlaceholder":761},[740,4117,4118,4121,4124,4127,4129,4131,4134],{"class":742,"line":2981},[740,4119,4120],{"class":813},"        set_transient",[740,4122,4123],{"class":773},"($key, $count ",[740,4125,4126],{"class":745},"+",[740,4128,2567],{"class":749},[740,4130,1039],{"class":773},[740,4132,4133],{"class":749},"MINUTE_IN_SECONDS",[740,4135,1060],{"class":773},[740,4137,4138],{"class":742,"line":3005},[740,4139,762],{"emptyLinePlaceholder":761},[740,4141,4142,4144],{"class":742,"line":3010},[740,4143,2662],{"class":745},[740,4145,3842],{"class":773},[740,4147,4148],{"class":742,"line":22},[740,4149,2748],{"class":773},[740,4151,4152],{"class":742,"line":3052},[740,4153,3367],{"class":773},[4155,4156,4157],"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 .sJ8bj, html code.shiki .sJ8bj{--shiki-default:#6A737D;--shiki-dark:#6A737D}html pre.shiki code .sVt8B, html code.shiki .sVt8B{--shiki-default:#24292E;--shiki-dark:#E1E4E8}html pre.shiki code .sScJk, html code.shiki .sScJk{--shiki-default:#6F42C1;--shiki-dark:#B392F0}html pre.shiki code .sZZnC, html code.shiki .sZZnC{--shiki-default:#032F62;--shiki-dark:#9ECBFF}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}",{"title":727,"searchDepth":29,"depth":29,"links":4159},[4160,4164,4165,4166,4167,4171],{"id":710,"depth":29,"text":711,"children":4161},[4162,4163],{"id":715,"depth":14,"text":716},{"id":730,"depth":14,"text":731},{"id":953,"depth":29,"text":954},{"id":1415,"depth":29,"text":1416},{"id":2036,"depth":29,"text":2037},{"id":2425,"depth":29,"text":2426,"children":4168},[4169,4170],{"id":2429,"depth":14,"text":2430},{"id":3370,"depth":14,"text":3371},{"id":3676,"depth":29,"text":3677},"md",{},"wpzylos-routing",{"title":77,"description":727},"docs\u002Flatest\u002Fpackages\u002Fwpzylos-routing\u002Fexamples","qVPk_9dcp5y24pAd8RUjbOWayPLf7QXRmE7-N3C8WQE",[4179,4180,4181,4182,4183,4184,4185,4186,4187,4188,4189,4190,4192,4193,4194,4195,4196,4197,4198,4199,4200,4201,4203,4204,4205,4206,4207,4208,4209,4210,4211,4212,4214,4215,4216,4217,4218,4219,4220,4221,4222,4223,4225,4226,4227,4228,4229,4230,4231,4232,4233,4234,4236,4237,4238,4239,4240,4241,4242,4243,4244,4245,4247,4248,4249,4250,4251,4252,4253,4254,4255,4256,4258,4259,4260,4261,4262,4263,4264,4265,4266,4267,4269,4270,4271,4272,4273,4274,4275,4276,4277,4278,4280,4281,4282,4283,4284,4285,4286,4287,4288,4289,4291,4292,4293,4294,4295,4296,4297,4298,4299,4300,4302,4303,4304,4305,4306,4307,4308,4309,4310,4311,4313,4314,4315,4316,4317,4318,4319,4320,4321,4322,4324,4325,4326,4327,4328,4329,4330,4331,4332,4333,4335,4336,4337,4338,4339,4340,4341,4342,4344,4345,4346,4347,4348,4349,4350,4351,4352,4353,4355,4356,4357,4358,4359,4360,4361,4362,4363,4364,4366,4367,4368,4369,4370,4371,4372,4373,4374,4375,4377,4378,4379,4380,4381,4382,4383,4384,4385,4386,4388,4389,4390,4391,4392,4393,4394,4395,4396,4397,4398,4399,4400,4401,4402,4403,4404,4405,4406,4407,4408,4409,4411,4412,4413,4414,4415,4416,4417,4418,4419,4420,4421,4422,4423,4425,4426,4427,4428,4429,4430,4431,4432,4433,4434,4436,4437,4438,4439,4440,4441,4442,4443,4444,4446,4447,4448,4449,4450,4451,4452,4453,4454,4455,4457,4458,4459,4460,4461,4462,4463,4464,4465,4466,4468,4469,4470,4471,4472,4473,4474,4475,4476,4477,4478,4479,4480,4481,4482,4483,4484,4489,4493],{"path":10,"title":5,"sectionKey":7,"sectionOrder":6,"itemOrder":6,"packageName":727,"depth":6},{"path":12,"title":13,"sectionKey":7,"sectionOrder":6,"itemOrder":14,"packageName":727,"depth":29},{"path":16,"title":17,"sectionKey":7,"sectionOrder":6,"itemOrder":18,"packageName":727,"depth":29},{"path":20,"title":21,"sectionKey":7,"sectionOrder":6,"itemOrder":22,"packageName":727,"depth":29},{"path":24,"title":25,"sectionKey":7,"sectionOrder":6,"itemOrder":22,"packageName":727,"depth":29},{"path":33,"title":34,"sectionKey":30,"sectionOrder":29,"itemOrder":22,"packageName":727,"depth":29},{"path":36,"title":37,"sectionKey":30,"sectionOrder":29,"itemOrder":22,"packageName":727,"depth":29},{"path":39,"title":40,"sectionKey":30,"sectionOrder":29,"itemOrder":22,"packageName":727,"depth":29},{"path":42,"title":43,"sectionKey":30,"sectionOrder":29,"itemOrder":22,"packageName":727,"depth":29},{"path":45,"title":46,"sectionKey":30,"sectionOrder":29,"itemOrder":22,"packageName":727,"depth":29},{"path":48,"title":49,"sectionKey":30,"sectionOrder":29,"itemOrder":22,"packageName":727,"depth":29},{"path":58,"title":59,"sectionKey":53,"sectionOrder":14,"itemOrder":6,"packageName":4191,"depth":29},"wpzylos-assets",{"path":61,"title":62,"sectionKey":53,"sectionOrder":14,"itemOrder":29,"packageName":4191,"depth":14},{"path":64,"title":13,"sectionKey":53,"sectionOrder":14,"itemOrder":14,"packageName":4191,"depth":14},{"path":66,"title":17,"sectionKey":53,"sectionOrder":14,"itemOrder":18,"packageName":4191,"depth":14},{"path":68,"title":69,"sectionKey":53,"sectionOrder":14,"itemOrder":70,"packageName":4191,"depth":14},{"path":72,"title":73,"sectionKey":53,"sectionOrder":14,"itemOrder":74,"packageName":4191,"depth":14},{"path":76,"title":77,"sectionKey":53,"sectionOrder":14,"itemOrder":78,"packageName":4191,"depth":14},{"path":80,"title":81,"sectionKey":53,"sectionOrder":14,"itemOrder":82,"packageName":4191,"depth":14},{"path":84,"title":85,"sectionKey":53,"sectionOrder":14,"itemOrder":86,"packageName":4191,"depth":14},{"path":88,"title":89,"sectionKey":53,"sectionOrder":14,"itemOrder":90,"packageName":4191,"depth":14},{"path":93,"title":94,"sectionKey":53,"sectionOrder":14,"itemOrder":6,"packageName":4202,"depth":29},"wpzylos-cli-core",{"path":96,"title":62,"sectionKey":53,"sectionOrder":14,"itemOrder":29,"packageName":4202,"depth":14},{"path":98,"title":13,"sectionKey":53,"sectionOrder":14,"itemOrder":14,"packageName":4202,"depth":14},{"path":100,"title":17,"sectionKey":53,"sectionOrder":14,"itemOrder":18,"packageName":4202,"depth":14},{"path":102,"title":69,"sectionKey":53,"sectionOrder":14,"itemOrder":70,"packageName":4202,"depth":14},{"path":104,"title":73,"sectionKey":53,"sectionOrder":14,"itemOrder":74,"packageName":4202,"depth":14},{"path":106,"title":77,"sectionKey":53,"sectionOrder":14,"itemOrder":78,"packageName":4202,"depth":14},{"path":108,"title":81,"sectionKey":53,"sectionOrder":14,"itemOrder":82,"packageName":4202,"depth":14},{"path":110,"title":111,"sectionKey":53,"sectionOrder":14,"itemOrder":86,"packageName":4202,"depth":14},{"path":113,"title":89,"sectionKey":53,"sectionOrder":14,"itemOrder":90,"packageName":4202,"depth":14},{"path":116,"title":117,"sectionKey":53,"sectionOrder":14,"itemOrder":6,"packageName":4213,"depth":29},"wpzylos-cli-devtool",{"path":119,"title":62,"sectionKey":53,"sectionOrder":14,"itemOrder":29,"packageName":4213,"depth":14},{"path":121,"title":13,"sectionKey":53,"sectionOrder":14,"itemOrder":14,"packageName":4213,"depth":14},{"path":123,"title":17,"sectionKey":53,"sectionOrder":14,"itemOrder":18,"packageName":4213,"depth":14},{"path":125,"title":69,"sectionKey":53,"sectionOrder":14,"itemOrder":70,"packageName":4213,"depth":14},{"path":127,"title":73,"sectionKey":53,"sectionOrder":14,"itemOrder":74,"packageName":4213,"depth":14},{"path":129,"title":77,"sectionKey":53,"sectionOrder":14,"itemOrder":78,"packageName":4213,"depth":14},{"path":131,"title":81,"sectionKey":53,"sectionOrder":14,"itemOrder":82,"packageName":4213,"depth":14},{"path":133,"title":111,"sectionKey":53,"sectionOrder":14,"itemOrder":86,"packageName":4213,"depth":14},{"path":135,"title":89,"sectionKey":53,"sectionOrder":14,"itemOrder":90,"packageName":4213,"depth":14},{"path":138,"title":139,"sectionKey":53,"sectionOrder":14,"itemOrder":6,"packageName":4224,"depth":29},"wpzylos-config",{"path":141,"title":62,"sectionKey":53,"sectionOrder":14,"itemOrder":29,"packageName":4224,"depth":14},{"path":143,"title":13,"sectionKey":53,"sectionOrder":14,"itemOrder":14,"packageName":4224,"depth":14},{"path":145,"title":17,"sectionKey":53,"sectionOrder":14,"itemOrder":18,"packageName":4224,"depth":14},{"path":147,"title":69,"sectionKey":53,"sectionOrder":14,"itemOrder":70,"packageName":4224,"depth":14},{"path":149,"title":73,"sectionKey":53,"sectionOrder":14,"itemOrder":74,"packageName":4224,"depth":14},{"path":151,"title":77,"sectionKey":53,"sectionOrder":14,"itemOrder":78,"packageName":4224,"depth":14},{"path":153,"title":81,"sectionKey":53,"sectionOrder":14,"itemOrder":82,"packageName":4224,"depth":14},{"path":155,"title":111,"sectionKey":53,"sectionOrder":14,"itemOrder":86,"packageName":4224,"depth":14},{"path":157,"title":89,"sectionKey":53,"sectionOrder":14,"itemOrder":90,"packageName":4224,"depth":14},{"path":160,"title":161,"sectionKey":53,"sectionOrder":14,"itemOrder":6,"packageName":4235,"depth":29},"wpzylos-container",{"path":163,"title":62,"sectionKey":53,"sectionOrder":14,"itemOrder":29,"packageName":4235,"depth":14},{"path":165,"title":13,"sectionKey":53,"sectionOrder":14,"itemOrder":14,"packageName":4235,"depth":14},{"path":167,"title":17,"sectionKey":53,"sectionOrder":14,"itemOrder":18,"packageName":4235,"depth":14},{"path":169,"title":69,"sectionKey":53,"sectionOrder":14,"itemOrder":70,"packageName":4235,"depth":14},{"path":171,"title":73,"sectionKey":53,"sectionOrder":14,"itemOrder":74,"packageName":4235,"depth":14},{"path":173,"title":77,"sectionKey":53,"sectionOrder":14,"itemOrder":78,"packageName":4235,"depth":14},{"path":175,"title":81,"sectionKey":53,"sectionOrder":14,"itemOrder":82,"packageName":4235,"depth":14},{"path":177,"title":111,"sectionKey":53,"sectionOrder":14,"itemOrder":86,"packageName":4235,"depth":14},{"path":179,"title":89,"sectionKey":53,"sectionOrder":14,"itemOrder":90,"packageName":4235,"depth":14},{"path":182,"title":183,"sectionKey":53,"sectionOrder":14,"itemOrder":6,"packageName":4246,"depth":29},"wpzylos-core",{"path":185,"title":62,"sectionKey":53,"sectionOrder":14,"itemOrder":29,"packageName":4246,"depth":14},{"path":187,"title":13,"sectionKey":53,"sectionOrder":14,"itemOrder":14,"packageName":4246,"depth":14},{"path":189,"title":17,"sectionKey":53,"sectionOrder":14,"itemOrder":18,"packageName":4246,"depth":14},{"path":191,"title":69,"sectionKey":53,"sectionOrder":14,"itemOrder":70,"packageName":4246,"depth":14},{"path":193,"title":73,"sectionKey":53,"sectionOrder":14,"itemOrder":74,"packageName":4246,"depth":14},{"path":195,"title":77,"sectionKey":53,"sectionOrder":14,"itemOrder":78,"packageName":4246,"depth":14},{"path":197,"title":81,"sectionKey":53,"sectionOrder":14,"itemOrder":82,"packageName":4246,"depth":14},{"path":199,"title":111,"sectionKey":53,"sectionOrder":14,"itemOrder":86,"packageName":4246,"depth":14},{"path":201,"title":89,"sectionKey":53,"sectionOrder":14,"itemOrder":90,"packageName":4246,"depth":14},{"path":204,"title":205,"sectionKey":53,"sectionOrder":14,"itemOrder":6,"packageName":4257,"depth":29},"wpzylos-database",{"path":207,"title":62,"sectionKey":53,"sectionOrder":14,"itemOrder":29,"packageName":4257,"depth":14},{"path":209,"title":13,"sectionKey":53,"sectionOrder":14,"itemOrder":14,"packageName":4257,"depth":14},{"path":211,"title":17,"sectionKey":53,"sectionOrder":14,"itemOrder":18,"packageName":4257,"depth":14},{"path":213,"title":69,"sectionKey":53,"sectionOrder":14,"itemOrder":70,"packageName":4257,"depth":14},{"path":215,"title":73,"sectionKey":53,"sectionOrder":14,"itemOrder":74,"packageName":4257,"depth":14},{"path":217,"title":77,"sectionKey":53,"sectionOrder":14,"itemOrder":78,"packageName":4257,"depth":14},{"path":219,"title":81,"sectionKey":53,"sectionOrder":14,"itemOrder":82,"packageName":4257,"depth":14},{"path":221,"title":111,"sectionKey":53,"sectionOrder":14,"itemOrder":86,"packageName":4257,"depth":14},{"path":223,"title":89,"sectionKey":53,"sectionOrder":14,"itemOrder":90,"packageName":4257,"depth":14},{"path":226,"title":227,"sectionKey":53,"sectionOrder":14,"itemOrder":6,"packageName":4268,"depth":29},"wpzylos-events",{"path":229,"title":62,"sectionKey":53,"sectionOrder":14,"itemOrder":29,"packageName":4268,"depth":14},{"path":231,"title":13,"sectionKey":53,"sectionOrder":14,"itemOrder":14,"packageName":4268,"depth":14},{"path":233,"title":17,"sectionKey":53,"sectionOrder":14,"itemOrder":18,"packageName":4268,"depth":14},{"path":235,"title":69,"sectionKey":53,"sectionOrder":14,"itemOrder":70,"packageName":4268,"depth":14},{"path":237,"title":73,"sectionKey":53,"sectionOrder":14,"itemOrder":74,"packageName":4268,"depth":14},{"path":239,"title":77,"sectionKey":53,"sectionOrder":14,"itemOrder":78,"packageName":4268,"depth":14},{"path":241,"title":81,"sectionKey":53,"sectionOrder":14,"itemOrder":82,"packageName":4268,"depth":14},{"path":243,"title":85,"sectionKey":53,"sectionOrder":14,"itemOrder":86,"packageName":4268,"depth":14},{"path":245,"title":89,"sectionKey":53,"sectionOrder":14,"itemOrder":90,"packageName":4268,"depth":14},{"path":248,"title":249,"sectionKey":53,"sectionOrder":14,"itemOrder":6,"packageName":4279,"depth":29},"wpzylos-hooks",{"path":251,"title":62,"sectionKey":53,"sectionOrder":14,"itemOrder":29,"packageName":4279,"depth":14},{"path":253,"title":13,"sectionKey":53,"sectionOrder":14,"itemOrder":14,"packageName":4279,"depth":14},{"path":255,"title":17,"sectionKey":53,"sectionOrder":14,"itemOrder":18,"packageName":4279,"depth":14},{"path":257,"title":258,"sectionKey":53,"sectionOrder":14,"itemOrder":70,"packageName":4279,"depth":14},{"path":260,"title":73,"sectionKey":53,"sectionOrder":14,"itemOrder":74,"packageName":4279,"depth":14},{"path":262,"title":77,"sectionKey":53,"sectionOrder":14,"itemOrder":78,"packageName":4279,"depth":14},{"path":264,"title":81,"sectionKey":53,"sectionOrder":14,"itemOrder":82,"packageName":4279,"depth":14},{"path":266,"title":111,"sectionKey":53,"sectionOrder":14,"itemOrder":86,"packageName":4279,"depth":14},{"path":268,"title":89,"sectionKey":53,"sectionOrder":14,"itemOrder":90,"packageName":4279,"depth":14},{"path":271,"title":272,"sectionKey":53,"sectionOrder":14,"itemOrder":6,"packageName":4290,"depth":29},"wpzylos-http",{"path":274,"title":62,"sectionKey":53,"sectionOrder":14,"itemOrder":29,"packageName":4290,"depth":14},{"path":276,"title":13,"sectionKey":53,"sectionOrder":14,"itemOrder":14,"packageName":4290,"depth":14},{"path":278,"title":17,"sectionKey":53,"sectionOrder":14,"itemOrder":18,"packageName":4290,"depth":14},{"path":280,"title":258,"sectionKey":53,"sectionOrder":14,"itemOrder":70,"packageName":4290,"depth":14},{"path":282,"title":73,"sectionKey":53,"sectionOrder":14,"itemOrder":74,"packageName":4290,"depth":14},{"path":284,"title":77,"sectionKey":53,"sectionOrder":14,"itemOrder":78,"packageName":4290,"depth":14},{"path":286,"title":81,"sectionKey":53,"sectionOrder":14,"itemOrder":82,"packageName":4290,"depth":14},{"path":288,"title":111,"sectionKey":53,"sectionOrder":14,"itemOrder":86,"packageName":4290,"depth":14},{"path":290,"title":89,"sectionKey":53,"sectionOrder":14,"itemOrder":90,"packageName":4290,"depth":14},{"path":293,"title":294,"sectionKey":53,"sectionOrder":14,"itemOrder":6,"packageName":4301,"depth":29},"wpzylos-i18n",{"path":296,"title":62,"sectionKey":53,"sectionOrder":14,"itemOrder":29,"packageName":4301,"depth":14},{"path":298,"title":13,"sectionKey":53,"sectionOrder":14,"itemOrder":14,"packageName":4301,"depth":14},{"path":300,"title":17,"sectionKey":53,"sectionOrder":14,"itemOrder":18,"packageName":4301,"depth":14},{"path":302,"title":69,"sectionKey":53,"sectionOrder":14,"itemOrder":70,"packageName":4301,"depth":14},{"path":304,"title":73,"sectionKey":53,"sectionOrder":14,"itemOrder":74,"packageName":4301,"depth":14},{"path":306,"title":77,"sectionKey":53,"sectionOrder":14,"itemOrder":78,"packageName":4301,"depth":14},{"path":308,"title":81,"sectionKey":53,"sectionOrder":14,"itemOrder":82,"packageName":4301,"depth":14},{"path":310,"title":111,"sectionKey":53,"sectionOrder":14,"itemOrder":86,"packageName":4301,"depth":14},{"path":312,"title":89,"sectionKey":53,"sectionOrder":14,"itemOrder":90,"packageName":4301,"depth":14},{"path":315,"title":316,"sectionKey":53,"sectionOrder":14,"itemOrder":6,"packageName":4312,"depth":29},"wpzylos-logger",{"path":318,"title":62,"sectionKey":53,"sectionOrder":14,"itemOrder":29,"packageName":4312,"depth":14},{"path":320,"title":13,"sectionKey":53,"sectionOrder":14,"itemOrder":14,"packageName":4312,"depth":14},{"path":322,"title":17,"sectionKey":53,"sectionOrder":14,"itemOrder":18,"packageName":4312,"depth":14},{"path":324,"title":69,"sectionKey":53,"sectionOrder":14,"itemOrder":70,"packageName":4312,"depth":14},{"path":326,"title":73,"sectionKey":53,"sectionOrder":14,"itemOrder":74,"packageName":4312,"depth":14},{"path":328,"title":77,"sectionKey":53,"sectionOrder":14,"itemOrder":78,"packageName":4312,"depth":14},{"path":330,"title":81,"sectionKey":53,"sectionOrder":14,"itemOrder":82,"packageName":4312,"depth":14},{"path":332,"title":111,"sectionKey":53,"sectionOrder":14,"itemOrder":86,"packageName":4312,"depth":14},{"path":334,"title":89,"sectionKey":53,"sectionOrder":14,"itemOrder":90,"packageName":4312,"depth":14},{"path":337,"title":338,"sectionKey":53,"sectionOrder":14,"itemOrder":6,"packageName":4323,"depth":29},"wpzylos-mail",{"path":340,"title":62,"sectionKey":53,"sectionOrder":14,"itemOrder":29,"packageName":4323,"depth":14},{"path":342,"title":13,"sectionKey":53,"sectionOrder":14,"itemOrder":14,"packageName":4323,"depth":14},{"path":344,"title":17,"sectionKey":53,"sectionOrder":14,"itemOrder":18,"packageName":4323,"depth":14},{"path":346,"title":258,"sectionKey":53,"sectionOrder":14,"itemOrder":70,"packageName":4323,"depth":14},{"path":348,"title":73,"sectionKey":53,"sectionOrder":14,"itemOrder":74,"packageName":4323,"depth":14},{"path":350,"title":77,"sectionKey":53,"sectionOrder":14,"itemOrder":78,"packageName":4323,"depth":14},{"path":352,"title":81,"sectionKey":53,"sectionOrder":14,"itemOrder":82,"packageName":4323,"depth":14},{"path":354,"title":85,"sectionKey":53,"sectionOrder":14,"itemOrder":86,"packageName":4323,"depth":14},{"path":356,"title":89,"sectionKey":53,"sectionOrder":14,"itemOrder":90,"packageName":4323,"depth":14},{"path":359,"title":360,"sectionKey":53,"sectionOrder":14,"itemOrder":6,"packageName":4334,"depth":29},"wpzylos-mcp",{"path":362,"title":62,"sectionKey":53,"sectionOrder":14,"itemOrder":29,"packageName":4334,"depth":14},{"path":364,"title":13,"sectionKey":53,"sectionOrder":14,"itemOrder":14,"packageName":4334,"depth":14},{"path":366,"title":258,"sectionKey":53,"sectionOrder":14,"itemOrder":70,"packageName":4334,"depth":14},{"path":368,"title":73,"sectionKey":53,"sectionOrder":14,"itemOrder":74,"packageName":4334,"depth":14},{"path":370,"title":77,"sectionKey":53,"sectionOrder":14,"itemOrder":78,"packageName":4334,"depth":14},{"path":372,"title":89,"sectionKey":53,"sectionOrder":14,"itemOrder":90,"packageName":4334,"depth":14},{"path":374,"title":375,"sectionKey":53,"sectionOrder":14,"itemOrder":22,"packageName":4334,"depth":14},{"path":378,"title":379,"sectionKey":53,"sectionOrder":14,"itemOrder":6,"packageName":4343,"depth":29},"wpzylos-migrations",{"path":381,"title":62,"sectionKey":53,"sectionOrder":14,"itemOrder":29,"packageName":4343,"depth":14},{"path":383,"title":13,"sectionKey":53,"sectionOrder":14,"itemOrder":14,"packageName":4343,"depth":14},{"path":385,"title":17,"sectionKey":53,"sectionOrder":14,"itemOrder":18,"packageName":4343,"depth":14},{"path":387,"title":69,"sectionKey":53,"sectionOrder":14,"itemOrder":70,"packageName":4343,"depth":14},{"path":389,"title":73,"sectionKey":53,"sectionOrder":14,"itemOrder":74,"packageName":4343,"depth":14},{"path":391,"title":77,"sectionKey":53,"sectionOrder":14,"itemOrder":78,"packageName":4343,"depth":14},{"path":393,"title":81,"sectionKey":53,"sectionOrder":14,"itemOrder":82,"packageName":4343,"depth":14},{"path":395,"title":111,"sectionKey":53,"sectionOrder":14,"itemOrder":86,"packageName":4343,"depth":14},{"path":397,"title":89,"sectionKey":53,"sectionOrder":14,"itemOrder":90,"packageName":4343,"depth":14},{"path":400,"title":401,"sectionKey":53,"sectionOrder":14,"itemOrder":6,"packageName":4354,"depth":29},"wpzylos-model",{"path":403,"title":62,"sectionKey":53,"sectionOrder":14,"itemOrder":29,"packageName":4354,"depth":14},{"path":405,"title":13,"sectionKey":53,"sectionOrder":14,"itemOrder":14,"packageName":4354,"depth":14},{"path":407,"title":17,"sectionKey":53,"sectionOrder":14,"itemOrder":18,"packageName":4354,"depth":14},{"path":409,"title":69,"sectionKey":53,"sectionOrder":14,"itemOrder":70,"packageName":4354,"depth":14},{"path":411,"title":73,"sectionKey":53,"sectionOrder":14,"itemOrder":74,"packageName":4354,"depth":14},{"path":413,"title":77,"sectionKey":53,"sectionOrder":14,"itemOrder":78,"packageName":4354,"depth":14},{"path":415,"title":81,"sectionKey":53,"sectionOrder":14,"itemOrder":82,"packageName":4354,"depth":14},{"path":417,"title":85,"sectionKey":53,"sectionOrder":14,"itemOrder":86,"packageName":4354,"depth":14},{"path":419,"title":89,"sectionKey":53,"sectionOrder":14,"itemOrder":90,"packageName":4354,"depth":14},{"path":422,"title":423,"sectionKey":53,"sectionOrder":14,"itemOrder":6,"packageName":4365,"depth":29},"wpzylos-notification",{"path":425,"title":62,"sectionKey":53,"sectionOrder":14,"itemOrder":29,"packageName":4365,"depth":14},{"path":427,"title":13,"sectionKey":53,"sectionOrder":14,"itemOrder":14,"packageName":4365,"depth":14},{"path":429,"title":17,"sectionKey":53,"sectionOrder":14,"itemOrder":18,"packageName":4365,"depth":14},{"path":431,"title":69,"sectionKey":53,"sectionOrder":14,"itemOrder":70,"packageName":4365,"depth":14},{"path":433,"title":73,"sectionKey":53,"sectionOrder":14,"itemOrder":74,"packageName":4365,"depth":14},{"path":435,"title":77,"sectionKey":53,"sectionOrder":14,"itemOrder":78,"packageName":4365,"depth":14},{"path":437,"title":81,"sectionKey":53,"sectionOrder":14,"itemOrder":82,"packageName":4365,"depth":14},{"path":439,"title":85,"sectionKey":53,"sectionOrder":14,"itemOrder":86,"packageName":4365,"depth":14},{"path":441,"title":89,"sectionKey":53,"sectionOrder":14,"itemOrder":90,"packageName":4365,"depth":14},{"path":444,"title":445,"sectionKey":53,"sectionOrder":14,"itemOrder":6,"packageName":4376,"depth":29},"wpzylos-queue",{"path":447,"title":62,"sectionKey":53,"sectionOrder":14,"itemOrder":29,"packageName":4376,"depth":14},{"path":449,"title":13,"sectionKey":53,"sectionOrder":14,"itemOrder":14,"packageName":4376,"depth":14},{"path":451,"title":17,"sectionKey":53,"sectionOrder":14,"itemOrder":18,"packageName":4376,"depth":14},{"path":453,"title":69,"sectionKey":53,"sectionOrder":14,"itemOrder":70,"packageName":4376,"depth":14},{"path":455,"title":73,"sectionKey":53,"sectionOrder":14,"itemOrder":74,"packageName":4376,"depth":14},{"path":457,"title":77,"sectionKey":53,"sectionOrder":14,"itemOrder":78,"packageName":4376,"depth":14},{"path":459,"title":81,"sectionKey":53,"sectionOrder":14,"itemOrder":82,"packageName":4376,"depth":14},{"path":461,"title":85,"sectionKey":53,"sectionOrder":14,"itemOrder":86,"packageName":4376,"depth":14},{"path":463,"title":89,"sectionKey":53,"sectionOrder":14,"itemOrder":90,"packageName":4376,"depth":14},{"path":466,"title":467,"sectionKey":53,"sectionOrder":14,"itemOrder":6,"packageName":4387,"depth":29},"wpzylos-requirements",{"path":469,"title":62,"sectionKey":53,"sectionOrder":14,"itemOrder":29,"packageName":4387,"depth":14},{"path":471,"title":13,"sectionKey":53,"sectionOrder":14,"itemOrder":14,"packageName":4387,"depth":14},{"path":473,"title":17,"sectionKey":53,"sectionOrder":14,"itemOrder":18,"packageName":4387,"depth":14},{"path":475,"title":69,"sectionKey":53,"sectionOrder":14,"itemOrder":70,"packageName":4387,"depth":14},{"path":477,"title":73,"sectionKey":53,"sectionOrder":14,"itemOrder":74,"packageName":4387,"depth":14},{"path":479,"title":77,"sectionKey":53,"sectionOrder":14,"itemOrder":78,"packageName":4387,"depth":14},{"path":481,"title":81,"sectionKey":53,"sectionOrder":14,"itemOrder":82,"packageName":4387,"depth":14},{"path":483,"title":85,"sectionKey":53,"sectionOrder":14,"itemOrder":86,"packageName":4387,"depth":14},{"path":485,"title":89,"sectionKey":53,"sectionOrder":14,"itemOrder":90,"packageName":4387,"depth":14},{"path":488,"title":489,"sectionKey":53,"sectionOrder":14,"itemOrder":6,"packageName":4174,"depth":29},{"path":491,"title":62,"sectionKey":53,"sectionOrder":14,"itemOrder":29,"packageName":4174,"depth":14},{"path":493,"title":13,"sectionKey":53,"sectionOrder":14,"itemOrder":14,"packageName":4174,"depth":14},{"path":495,"title":17,"sectionKey":53,"sectionOrder":14,"itemOrder":18,"packageName":4174,"depth":14},{"path":497,"title":69,"sectionKey":53,"sectionOrder":14,"itemOrder":70,"packageName":4174,"depth":14},{"path":499,"title":73,"sectionKey":53,"sectionOrder":14,"itemOrder":74,"packageName":4174,"depth":14},{"path":501,"title":77,"sectionKey":53,"sectionOrder":14,"itemOrder":78,"packageName":4174,"depth":14},{"path":503,"title":81,"sectionKey":53,"sectionOrder":14,"itemOrder":82,"packageName":4174,"depth":14},{"path":505,"title":85,"sectionKey":53,"sectionOrder":14,"itemOrder":86,"packageName":4174,"depth":14},{"path":507,"title":89,"sectionKey":53,"sectionOrder":14,"itemOrder":90,"packageName":4174,"depth":14},{"path":509,"title":510,"sectionKey":53,"sectionOrder":14,"itemOrder":22,"packageName":4174,"depth":14},{"path":512,"title":513,"sectionKey":53,"sectionOrder":14,"itemOrder":22,"packageName":4174,"depth":14},{"path":516,"title":517,"sectionKey":53,"sectionOrder":14,"itemOrder":6,"packageName":4410,"depth":29},"wpzylos-scaffold",{"path":519,"title":62,"sectionKey":53,"sectionOrder":14,"itemOrder":29,"packageName":4410,"depth":14},{"path":521,"title":13,"sectionKey":53,"sectionOrder":14,"itemOrder":14,"packageName":4410,"depth":14},{"path":523,"title":17,"sectionKey":53,"sectionOrder":14,"itemOrder":18,"packageName":4410,"depth":14},{"path":525,"title":69,"sectionKey":53,"sectionOrder":14,"itemOrder":70,"packageName":4410,"depth":14},{"path":527,"title":73,"sectionKey":53,"sectionOrder":14,"itemOrder":74,"packageName":4410,"depth":14},{"path":529,"title":77,"sectionKey":53,"sectionOrder":14,"itemOrder":78,"packageName":4410,"depth":14},{"path":531,"title":81,"sectionKey":53,"sectionOrder":14,"itemOrder":82,"packageName":4410,"depth":14},{"path":533,"title":534,"sectionKey":53,"sectionOrder":14,"itemOrder":82,"packageName":4410,"depth":14},{"path":536,"title":111,"sectionKey":53,"sectionOrder":14,"itemOrder":86,"packageName":4410,"depth":14},{"path":538,"title":89,"sectionKey":53,"sectionOrder":14,"itemOrder":90,"packageName":4410,"depth":14},{"path":540,"title":541,"sectionKey":53,"sectionOrder":14,"itemOrder":22,"packageName":4410,"depth":14},{"path":543,"title":544,"sectionKey":53,"sectionOrder":14,"itemOrder":22,"packageName":4410,"depth":14},{"path":547,"title":548,"sectionKey":53,"sectionOrder":14,"itemOrder":6,"packageName":4424,"depth":29},"wpzylos-scheduler",{"path":550,"title":62,"sectionKey":53,"sectionOrder":14,"itemOrder":29,"packageName":4424,"depth":14},{"path":552,"title":13,"sectionKey":53,"sectionOrder":14,"itemOrder":14,"packageName":4424,"depth":14},{"path":554,"title":17,"sectionKey":53,"sectionOrder":14,"itemOrder":18,"packageName":4424,"depth":14},{"path":556,"title":69,"sectionKey":53,"sectionOrder":14,"itemOrder":70,"packageName":4424,"depth":14},{"path":558,"title":73,"sectionKey":53,"sectionOrder":14,"itemOrder":74,"packageName":4424,"depth":14},{"path":560,"title":77,"sectionKey":53,"sectionOrder":14,"itemOrder":78,"packageName":4424,"depth":14},{"path":562,"title":81,"sectionKey":53,"sectionOrder":14,"itemOrder":82,"packageName":4424,"depth":14},{"path":564,"title":85,"sectionKey":53,"sectionOrder":14,"itemOrder":86,"packageName":4424,"depth":14},{"path":566,"title":89,"sectionKey":53,"sectionOrder":14,"itemOrder":90,"packageName":4424,"depth":14},{"path":569,"title":570,"sectionKey":53,"sectionOrder":14,"itemOrder":6,"packageName":4435,"depth":29},"wpzylos-security",{"path":572,"title":62,"sectionKey":53,"sectionOrder":14,"itemOrder":29,"packageName":4435,"depth":14},{"path":574,"title":13,"sectionKey":53,"sectionOrder":14,"itemOrder":14,"packageName":4435,"depth":14},{"path":576,"title":17,"sectionKey":53,"sectionOrder":14,"itemOrder":18,"packageName":4435,"depth":14},{"path":578,"title":258,"sectionKey":53,"sectionOrder":14,"itemOrder":70,"packageName":4435,"depth":14},{"path":580,"title":73,"sectionKey":53,"sectionOrder":14,"itemOrder":74,"packageName":4435,"depth":14},{"path":582,"title":77,"sectionKey":53,"sectionOrder":14,"itemOrder":78,"packageName":4435,"depth":14},{"path":584,"title":81,"sectionKey":53,"sectionOrder":14,"itemOrder":82,"packageName":4435,"depth":14},{"path":586,"title":89,"sectionKey":53,"sectionOrder":14,"itemOrder":90,"packageName":4435,"depth":14},{"path":589,"title":590,"sectionKey":53,"sectionOrder":14,"itemOrder":6,"packageName":4445,"depth":29},"wpzylos-validation",{"path":592,"title":62,"sectionKey":53,"sectionOrder":14,"itemOrder":29,"packageName":4445,"depth":14},{"path":594,"title":13,"sectionKey":53,"sectionOrder":14,"itemOrder":14,"packageName":4445,"depth":14},{"path":596,"title":17,"sectionKey":53,"sectionOrder":14,"itemOrder":18,"packageName":4445,"depth":14},{"path":598,"title":258,"sectionKey":53,"sectionOrder":14,"itemOrder":70,"packageName":4445,"depth":14},{"path":600,"title":73,"sectionKey":53,"sectionOrder":14,"itemOrder":74,"packageName":4445,"depth":14},{"path":602,"title":77,"sectionKey":53,"sectionOrder":14,"itemOrder":78,"packageName":4445,"depth":14},{"path":604,"title":81,"sectionKey":53,"sectionOrder":14,"itemOrder":82,"packageName":4445,"depth":14},{"path":606,"title":111,"sectionKey":53,"sectionOrder":14,"itemOrder":86,"packageName":4445,"depth":14},{"path":608,"title":89,"sectionKey":53,"sectionOrder":14,"itemOrder":90,"packageName":4445,"depth":14},{"path":611,"title":612,"sectionKey":53,"sectionOrder":14,"itemOrder":6,"packageName":4456,"depth":29},"wpzylos-views",{"path":614,"title":62,"sectionKey":53,"sectionOrder":14,"itemOrder":29,"packageName":4456,"depth":14},{"path":616,"title":13,"sectionKey":53,"sectionOrder":14,"itemOrder":14,"packageName":4456,"depth":14},{"path":618,"title":17,"sectionKey":53,"sectionOrder":14,"itemOrder":18,"packageName":4456,"depth":14},{"path":620,"title":258,"sectionKey":53,"sectionOrder":14,"itemOrder":70,"packageName":4456,"depth":14},{"path":622,"title":73,"sectionKey":53,"sectionOrder":14,"itemOrder":74,"packageName":4456,"depth":14},{"path":624,"title":77,"sectionKey":53,"sectionOrder":14,"itemOrder":78,"packageName":4456,"depth":14},{"path":626,"title":81,"sectionKey":53,"sectionOrder":14,"itemOrder":82,"packageName":4456,"depth":14},{"path":628,"title":111,"sectionKey":53,"sectionOrder":14,"itemOrder":86,"packageName":4456,"depth":14},{"path":630,"title":89,"sectionKey":53,"sectionOrder":14,"itemOrder":90,"packageName":4456,"depth":14},{"path":633,"title":634,"sectionKey":53,"sectionOrder":14,"itemOrder":6,"packageName":4467,"depth":29},"wpzylos-wp-cli",{"path":636,"title":62,"sectionKey":53,"sectionOrder":14,"itemOrder":29,"packageName":4467,"depth":14},{"path":638,"title":13,"sectionKey":53,"sectionOrder":14,"itemOrder":14,"packageName":4467,"depth":14},{"path":640,"title":17,"sectionKey":53,"sectionOrder":14,"itemOrder":18,"packageName":4467,"depth":14},{"path":642,"title":69,"sectionKey":53,"sectionOrder":14,"itemOrder":70,"packageName":4467,"depth":14},{"path":644,"title":73,"sectionKey":53,"sectionOrder":14,"itemOrder":74,"packageName":4467,"depth":14},{"path":646,"title":77,"sectionKey":53,"sectionOrder":14,"itemOrder":78,"packageName":4467,"depth":14},{"path":648,"title":81,"sectionKey":53,"sectionOrder":14,"itemOrder":82,"packageName":4467,"depth":14},{"path":650,"title":111,"sectionKey":53,"sectionOrder":14,"itemOrder":86,"packageName":4467,"depth":14},{"path":652,"title":89,"sectionKey":53,"sectionOrder":14,"itemOrder":90,"packageName":4467,"depth":14},{"path":658,"title":659,"sectionKey":655,"sectionOrder":18,"itemOrder":6,"packageName":727,"depth":6},{"path":661,"title":544,"sectionKey":655,"sectionOrder":18,"itemOrder":22,"packageName":727,"depth":29},{"path":667,"title":668,"sectionKey":664,"sectionOrder":70,"itemOrder":29,"packageName":727,"depth":29},{"path":674,"title":675,"sectionKey":671,"sectionOrder":74,"itemOrder":29,"packageName":727,"depth":29},{"path":677,"title":678,"sectionKey":671,"sectionOrder":74,"itemOrder":22,"packageName":727,"depth":29},{"path":680,"title":681,"sectionKey":671,"sectionOrder":74,"itemOrder":22,"packageName":727,"depth":29},{"path":688,"title":689,"sectionKey":685,"sectionOrder":78,"itemOrder":29,"packageName":727,"depth":29},{"path":4485,"title":4486,"sectionKey":4487,"sectionOrder":4488,"itemOrder":90,"packageName":727,"depth":6},"\u002Fdocs\u002Flatest\u002Ftroubleshooting","System Troubleshooting","troubleshooting",99,{"path":4490,"title":4491,"sectionKey":4492,"sectionOrder":4488,"itemOrder":22,"packageName":727,"depth":6},"\u002Fdocs\u002Flatest\u002Frelease-checklist","Release Checklist","release-checklist",{"path":4494,"title":4495,"sectionKey":4496,"sectionOrder":4488,"itemOrder":22,"packageName":727,"depth":6},"\u002Fdocs\u002Flatest\u002Frules","WPZylos Framework Rules","rules",1784547695310]