3:I[5613,[],""] 4:I[1778,[],""] 5:I[2266,["250","static/chunks/250-e45a0a9f1f87fcb8.js","123","static/chunks/123-437e492929b8e5cd.js","787","static/chunks/787-34619535dc4c8b8e.js","185","static/chunks/app/layout-09adbc10fe12bbc4.js"],"Providers"] 6:I[4676,["250","static/chunks/250-e45a0a9f1f87fcb8.js","123","static/chunks/123-437e492929b8e5cd.js","787","static/chunks/787-34619535dc4c8b8e.js","185","static/chunks/app/layout-09adbc10fe12bbc4.js"],"Layout"] 7:I[5250,["250","static/chunks/250-e45a0a9f1f87fcb8.js","123","static/chunks/123-437e492929b8e5cd.js","744","static/chunks/app/docs/index/page-9f56ab286e2d4adf.js"],""] 0:["BUBEAAcODzJ5deDZjftgQ",[[["",{"children":["docs",{"children":["index",{"children":["__PAGE__",{}]}]}]},"$undefined","$undefined",true],["",{"children":["docs",{"children":["index",{"children":["__PAGE__",{},["$L1","$L2",null]]},["$","$L3",null,{"parallelRouterKey":"children","segmentPath":["children","docs","children","index","children"],"loading":"$undefined","loadingStyles":"$undefined","loadingScripts":"$undefined","hasLoading":false,"error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L4",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","notFoundStyles":"$undefined","styles":null}]]},["$","$L3",null,{"parallelRouterKey":"children","segmentPath":["children","docs","children"],"loading":"$undefined","loadingStyles":"$undefined","loadingScripts":"$undefined","hasLoading":false,"error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L4",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","notFoundStyles":"$undefined","styles":null}]]},[null,["$","html",null,{"lang":"en","className":"h-full antialiased __variable_aaf875 __variable_b436a8","suppressHydrationWarning":true,"children":["$","body",null,{"className":"flex min-h-full bg-white dark:bg-slate-900","children":["$","$L5",null,{"children":["$","$L6",null,{"children":["$","$L3",null,{"parallelRouterKey":"children","segmentPath":["children"],"loading":"$undefined","loadingStyles":"$undefined","loadingScripts":"$undefined","hasLoading":false,"error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L4",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":["$","div",null,{"className":"min-w-0 max-w-2xl flex-auto px-4 py-16 lg:max-w-none lg:pl-8 lg:pr-0 xl:px-16","children":["$","div",null,{"className":"flex h-full flex-col items-center justify-center text-center","children":[["$","p",null,{"className":"font-display text-sm font-medium text-slate-900 dark:text-white","children":"404"}],["$","h1",null,{"className":"mt-3 font-display text-3xl tracking-tight text-slate-900 dark:text-white","children":"Page not found"}],["$","p",null,{"className":"mt-2 text-sm text-slate-500 dark:text-slate-400","children":"Sorry, we couldn’t find the page you’re looking for."}],["$","$L7",null,{"href":"/","className":"mt-8 text-sm font-medium text-slate-900 dark:text-white","children":"Go back home"}]]}]}],"notFoundStyles":[],"styles":null}]}]}]}]}],null]],[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/css/9467422f3158babf.css","precedence":"next","crossOrigin":""}]],"$L8"]]]] 9:I[4841,["250","static/chunks/250-e45a0a9f1f87fcb8.js","123","static/chunks/123-437e492929b8e5cd.js","744","static/chunks/app/docs/index/page-9f56ab286e2d4adf.js"],"DocsHeader"] a:I[659,["250","static/chunks/250-e45a0a9f1f87fcb8.js","123","static/chunks/123-437e492929b8e5cd.js","744","static/chunks/app/docs/index/page-9f56ab286e2d4adf.js"],"Fence"] b:I[5357,["250","static/chunks/250-e45a0a9f1f87fcb8.js","123","static/chunks/123-437e492929b8e5cd.js","744","static/chunks/app/docs/index/page-9f56ab286e2d4adf.js"],"PrevNextLinks"] c:I[3184,["250","static/chunks/250-e45a0a9f1f87fcb8.js","123","static/chunks/123-437e492929b8e5cd.js","744","static/chunks/app/docs/index/page-9f56ab286e2d4adf.js"],"TableOfContents"] 2:[["$","div",null,{"className":"min-w-0 max-w-2xl flex-auto px-4 py-16 lg:max-w-none lg:pl-8 lg:pr-0 xl:px-16","children":[["$","article",null,{"children":[["$","$L9",null,{"title":"Index"}],["$","div",null,{"className":"prose prose-slate max-w-none dark:prose-invert dark:text-slate-400 prose-headings:scroll-mt-28 prose-headings:font-display prose-headings:font-normal lg:prose-headings:scroll-mt-[8.5rem] prose-lead:text-slate-500 dark:prose-lead:text-slate-400 prose-a:font-semibold dark:prose-a:text-sky-400 prose-a:no-underline prose-a:shadow-[inset_0_-2px_0_0_var(--tw-prose-background,#fff),inset_0_calc(-1*(var(--tw-prose-underline-size,4px)+2px))_0_0_var(--tw-prose-underline,theme(colors.sky.300))] hover:prose-a:[--tw-prose-underline-size:6px] dark:[--tw-prose-background:theme(colors.slate.900)] dark:prose-a:shadow-[inset_0_calc(-1*var(--tw-prose-underline-size,2px))_0_0_var(--tw-prose-underline,theme(colors.sky.800))] dark:hover:prose-a:[--tw-prose-underline-size:6px] prose-pre:rounded-xl prose-pre:bg-slate-900 prose-pre:shadow-lg dark:prose-pre:bg-slate-800/60 dark:prose-pre:shadow-none dark:prose-pre:ring-1 dark:prose-pre:ring-slate-300/10 dark:prose-hr:border-slate-800","children":[["$","p",null,{"children":["In most servers ",["$","em",null,{"children":"index.php"}]," file is opened by default. Every request goes through it."," ","Simplest working example of application would be one below."]}],["$","$La",null,{"language":"php","children":"addRoute(\"/\", function() { echo \"Hello World\" });\n$app->run();\n\n?>\n"}],["$","div",null,{"className":"my-8 flex rounded-3xl p-6 callout bg-sky-50 dark:bg-slate-800/60 dark:ring-1 dark:ring-slate-300/10","children":[["$","svg",null,{"aria-hidden":"true","viewBox":"0 0 32 32","fill":"none","className":"h-8 w-8 flex-none [--icon-foreground:theme(colors.slate.900)] [--icon-background:theme(colors.white)]","children":[["$","defs",null,{"children":[["$","radialGradient",null,{"cx":0,"cy":0,"r":1,"gradientUnits":"userSpaceOnUse","id":":S1:-gradient","gradientTransform":"matrix(0 21 -21 0 20 11)","children":[["$","stop","0",{"stopColor":"#0EA5E9"}],["$","stop","1",{"stopColor":"#22D3EE","offset":".527"}],["$","stop","2",{"stopColor":"#818CF8","offset":1}]]}],["$","radialGradient",null,{"cx":0,"cy":0,"r":1,"gradientUnits":"userSpaceOnUse","id":":S1:-gradient-dark","gradientTransform":"matrix(0 24.5001 -19.2498 0 16 5.5)","children":[["$","stop","0",{"stopColor":"#0EA5E9"}],["$","stop","1",{"stopColor":"#22D3EE","offset":".527"}],["$","stop","2",{"stopColor":"#818CF8","offset":1}]]}]]}],["$","g",null,{"className":"dark:hidden","children":[["$","circle",null,{"cx":20,"cy":20,"r":12,"fill":"url(#:S1:-gradient)"}],["$","path",null,{"fillRule":"evenodd","clipRule":"evenodd","d":"M20 24.995c0-1.855 1.094-3.501 2.427-4.792C24.61 18.087 26 15.07 26 12.231 26 7.133 21.523 3 16 3S6 7.133 6 12.23c0 2.84 1.389 5.857 3.573 7.973C10.906 21.494 12 23.14 12 24.995V27a2 2 0 0 0 2 2h4a2 2 0 0 0 2-2v-2.005Z","className":"fill-[var(--icon-background)]","fillOpacity":0.5}],["$","path",null,{"d":"M25 12.23c0 2.536-1.254 5.303-3.269 7.255l1.391 1.436c2.354-2.28 3.878-5.547 3.878-8.69h-2ZM16 4c5.047 0 9 3.759 9 8.23h2C27 6.508 21.998 2 16 2v2Zm-9 8.23C7 7.76 10.953 4 16 4V2C10.002 2 5 6.507 5 12.23h2Zm3.269 7.255C8.254 17.533 7 14.766 7 12.23H5c0 3.143 1.523 6.41 3.877 8.69l1.392-1.436ZM13 27v-2.005h-2V27h2Zm1 1a1 1 0 0 1-1-1h-2a3 3 0 0 0 3 3v-2Zm4 0h-4v2h4v-2Zm1-1a1 1 0 0 1-1 1v2a3 3 0 0 0 3-3h-2Zm0-2.005V27h2v-2.005h-2ZM8.877 20.921C10.132 22.136 11 23.538 11 24.995h2c0-2.253-1.32-4.143-2.731-5.51L8.877 20.92Zm12.854-1.436C20.32 20.852 19 22.742 19 24.995h2c0-1.457.869-2.859 2.122-4.074l-1.391-1.436Z","className":"fill-[var(--icon-foreground)]"}],["$","path",null,{"d":"M20 26a1 1 0 1 0 0-2v2Zm-8-2a1 1 0 1 0 0 2v-2Zm2 0h-2v2h2v-2Zm1 1V13.5h-2V25h2Zm-5-11.5v1h2v-1h-2Zm3.5 4.5h5v-2h-5v2Zm8.5-3.5v-1h-2v1h2ZM20 24h-2v2h2v-2Zm-2 0h-4v2h4v-2Zm-1-10.5V25h2V13.5h-2Zm2.5-2.5a2.5 2.5 0 0 0-2.5 2.5h2a.5.5 0 0 1 .5-.5v-2Zm2.5 2.5a2.5 2.5 0 0 0-2.5-2.5v2a.5.5 0 0 1 .5.5h2ZM18.5 18a3.5 3.5 0 0 0 3.5-3.5h-2a1.5 1.5 0 0 1-1.5 1.5v2ZM10 14.5a3.5 3.5 0 0 0 3.5 3.5v-2a1.5 1.5 0 0 1-1.5-1.5h-2Zm2.5-3.5a2.5 2.5 0 0 0-2.5 2.5h2a.5.5 0 0 1 .5-.5v-2Zm2.5 2.5a2.5 2.5 0 0 0-2.5-2.5v2a.5.5 0 0 1 .5.5h2Z","className":"fill-[var(--icon-foreground)]"}]]}],["$","g",null,{"className":"hidden dark:inline","children":["$","path",null,{"fillRule":"evenodd","clipRule":"evenodd","d":"M16 2C10.002 2 5 6.507 5 12.23c0 3.144 1.523 6.411 3.877 8.691.75.727 1.363 1.52 1.734 2.353.185.415.574.726 1.028.726H12a1 1 0 0 0 1-1v-4.5a.5.5 0 0 0-.5-.5A3.5 3.5 0 0 1 9 14.5V14a3 3 0 1 1 6 0v9a1 1 0 1 0 2 0v-9a3 3 0 1 1 6 0v.5a3.5 3.5 0 0 1-3.5 3.5.5.5 0 0 0-.5.5V23a1 1 0 0 0 1 1h.36c.455 0 .844-.311 1.03-.726.37-.833.982-1.626 1.732-2.353 2.354-2.28 3.878-5.547 3.878-8.69C27 6.507 21.998 2 16 2Zm5 25a1 1 0 0 0-1-1h-8a1 1 0 0 0-1 1 3 3 0 0 0 3 3h4a3 3 0 0 0 3-3Zm-8-13v1.5a.5.5 0 0 1-.5.5 1.5 1.5 0 0 1-1.5-1.5V14a1 1 0 1 1 2 0Zm6.5 2a.5.5 0 0 1-.5-.5V14a1 1 0 1 1 2 0v.5a1.5 1.5 0 0 1-1.5 1.5Z","fill":"url(#:S1:-gradient-dark)"}]}]]}],["$","div",null,{"className":"ml-4 flex-auto","children":[["$","p",null,{"className":"m-0 font-display text-xl text-sky-900 dark:text-sky-400","children":"Working application example"}],["$","div",null,{"className":"prose mt-2.5 text-sky-800 [--tw-prose-background:theme(colors.sky.50)] prose-a:text-sky-900 prose-code:text-sky-900 dark:text-slate-300 dark:prose-code:text-slate-300","children":["$","p",null,{"children":["You can see how Stormmore Word ",["$","em",null,{"children":"index.php"}]," is made on ",["$","a",null,{"href":"https://github.com/stormmoredev/stormmore-word/blob/main/server/index.php","children":"github"}]]}]}]]}]]}],["$","h2",null,{"id":"source-directory","children":"Source directory"}],["$","p",null,{"children":["In real life things are more complex but ",["$","strong",null,{"children":"not complicated."}]," ","We probably would like to have more endpoints rather than one. Best way is to move definitions to separate ",["$","strong",null,{"children":"src"}]," directory."]}],["$","$La",null,{"language":"php","children":"$$app = app('../src');\n"}],["$","p",null,{"children":["Now we can put ",["$","a",null,{"href":"/docs/controller","children":["$","em",null,{"children":"controllers"}]}]," whether we want within ",["$","em",null,{"children":"src"}]," directory."]}],["$","div",null,{"className":"my-8 flex rounded-3xl p-6 callout bg-amber-50 dark:bg-slate-800/60 dark:ring-1 dark:ring-slate-300/10","children":[["$","svg",null,{"aria-hidden":"true","viewBox":"0 0 32 32","fill":"none","className":"h-8 w-8 flex-none [--icon-foreground:theme(colors.amber.900)] [--icon-background:theme(colors.amber.100)]","children":[["$","defs",null,{"children":[["$","radialGradient",null,{"cx":0,"cy":0,"r":1,"gradientUnits":"userSpaceOnUse","id":":S2:-gradient","gradientTransform":"rotate(65.924 1.519 20.92) scale(25.7391)","children":[["$","stop","0",{"stopColor":"#FDE68A","offset":".08"}],["$","stop","1",{"stopColor":"#F59E0B","offset":".837"}]]}],["$","radialGradient",null,{"cx":0,"cy":0,"r":1,"gradientUnits":"userSpaceOnUse","id":":S2:-gradient-dark","gradientTransform":"matrix(0 24.5 -24.5 0 16 5.5)","children":[["$","stop","0",{"stopColor":"#FDE68A","offset":".08"}],["$","stop","1",{"stopColor":"#F59E0B","offset":".837"}]]}]]}],["$","g",null,{"className":"dark:hidden","children":[["$","circle",null,{"cx":20,"cy":20,"r":12,"fill":"url(#:S2:-gradient)"}],["$","path",null,{"d":"M3 16c0 7.18 5.82 13 13 13s13-5.82 13-13S23.18 3 16 3 3 8.82 3 16Z","fillOpacity":0.5,"className":"fill-[var(--icon-background)] stroke-[color:var(--icon-foreground)]","strokeWidth":2,"strokeLinecap":"round","strokeLinejoin":"round"}],["$","path",null,{"d":"m15.408 16.509-1.04-5.543a1.66 1.66 0 1 1 3.263 0l-1.039 5.543a.602.602 0 0 1-1.184 0Z","className":"fill-[var(--icon-foreground)] stroke-[color:var(--icon-foreground)]","strokeWidth":2,"strokeLinecap":"round","strokeLinejoin":"round"}],["$","path",null,{"d":"M16 23a1 1 0 1 0 0-2 1 1 0 0 0 0 2Z","fillOpacity":0.5,"stroke":"currentColor","className":"fill-[var(--icon-background)] stroke-[color:var(--icon-foreground)]","strokeWidth":2,"strokeLinecap":"round","strokeLinejoin":"round"}]]}],["$","g",null,{"className":"hidden dark:inline","children":["$","path",null,{"fillRule":"evenodd","clipRule":"evenodd","d":"M2 16C2 8.268 8.268 2 16 2s14 6.268 14 14-6.268 14-14 14S2 23.732 2 16Zm11.386-4.85a2.66 2.66 0 1 1 5.228 0l-1.039 5.543a1.602 1.602 0 0 1-3.15 0l-1.04-5.543ZM16 20a2 2 0 1 0 0 4 2 2 0 0 0 0-4Z","fill":"url(#:S2:-gradient-dark)"}]}]]}],["$","div",null,{"className":"ml-4 flex-auto","children":[["$","p",null,{"className":"m-0 font-display text-xl text-amber-900 dark:text-amber-500","children":"Source directory"}],["$","div",null,{"className":"prose mt-2.5 text-amber-800 [--tw-prose-underline:theme(colors.amber.400)] [--tw-prose-background:theme(colors.amber.50)] prose-a:text-amber-900 prose-code:text-amber-900 dark:text-slate-300 dark:[--tw-prose-underline:theme(colors.sky.700)] dark:prose-code:text-slate-300","children":["$","p",null,{"children":["Best approach is to keep there only application code and thrid party libraries which comes from Composer in separate"," ","parallel directory.",["$","br",null,{}],"Most libraries have own inlcuding system."]}]}]]}]]}],["$","hr",null,{}],["$","h2",null,{"id":"configuration","children":"Configuration"}],["$","p",null,{"children":["To configure application use ",["$","code",null,{"children":"addConfiguration"}]," method.",["$","br",null,{}],"All arguments are injected."]}],["$","$La",null,{"language":"php","children":"$$app->addConfiguration(function() {\n\n});\n"}],["$","h3",null,{"id":"path-aliases","children":"Path aliases"}],["$","p",null,{"children":["Stormmore use aliases and abbreviation paths."," ","Aliases in configuration always refers to ",["$","strong",null,{"children":"src"}]," directory.",["$","br",null,{}],"It has to start with ",["$","strong",null,{"children":"@"}],"."]}],["$","$La",null,{"language":"php","children":"$$app->addConfiguration(function(AppConfiguration $configuration) {\n $configuration->aliases = [\n '@my-alias' => \"deep/and/long/structure/hard/to/maintenance\",\n '@backend' => \"backend/templates\",\n '@vendor' => '../vendor'\n ];\n});\n"}],["$","h4",null,{"id":"abbreviation","children":"Abbreviation"}],["$","p",null,{"children":["Helpful to use absolute path to ",["$","strong",null,{"children":"src"}],["$","br",null,{}],["$","code",null,{"children":"@/backend/articles"}]," refers to ",["$","code",null,{"children":"/src/backend/articles"}]]}],["$","h4",null,{"id":"import","children":"Import"}],["$","p",null,{"children":["Framework replacement for ",["$","code",null,{"children":"require_once"}]," function which supports aliases, abbreviations and including files"," ","in entire directory. Made for PHP files exclusively so no need to add ",["$","code",null,{"children":".php"}]," extension."]}],["$","$La",null,{"language":"php","children":" import('@backend/index') //used alias\n import('@/backend/articles/ArticleFinder') //used abbreviation\n import('@/backend/articles/*') // used to include entire directory\n"}],["$","h3",null,{"id":"settings","children":"Settings"}],["$","p",null,{"children":["Build-in support for typed settings so there is only loader. It's up to developer to create settings class.",["$","br",null,{}],"Object should have setter method or property reflecting json file property name."]}],["$","h4",null,{"id":"loader","children":"Loader"}],["$","p",null,{"children":["Parse json files and overrides properties of destination object."," ","Allows custom settings hierarchy."]}],["$","$La",null,{"language":"php","children":"$$app->addConfiguration(function(AppConfiguration $configuration, Di $di))\n{\n $settings = new Settings();\n SettingsLoader::load($settings, '@/settings.json');\n SettingsLoader::LoadIfExist($settings, \"@/settings.development.json\");\n \n $di->register($settings);\n});\n"}],["$","div",null,{"className":"my-8 flex rounded-3xl p-6 callout bg-sky-50 dark:bg-slate-800/60 dark:ring-1 dark:ring-slate-300/10","children":[["$","svg",null,{"aria-hidden":"true","viewBox":"0 0 32 32","fill":"none","className":"h-8 w-8 flex-none [--icon-foreground:theme(colors.slate.900)] [--icon-background:theme(colors.white)]","children":[["$","defs",null,{"children":[["$","radialGradient",null,{"cx":0,"cy":0,"r":1,"gradientUnits":"userSpaceOnUse","id":":S3:-gradient","gradientTransform":"matrix(0 21 -21 0 20 11)","children":[["$","stop","0",{"stopColor":"#0EA5E9"}],["$","stop","1",{"stopColor":"#22D3EE","offset":".527"}],["$","stop","2",{"stopColor":"#818CF8","offset":1}]]}],["$","radialGradient",null,{"cx":0,"cy":0,"r":1,"gradientUnits":"userSpaceOnUse","id":":S3:-gradient-dark","gradientTransform":"matrix(0 24.5001 -19.2498 0 16 5.5)","children":[["$","stop","0",{"stopColor":"#0EA5E9"}],["$","stop","1",{"stopColor":"#22D3EE","offset":".527"}],["$","stop","2",{"stopColor":"#818CF8","offset":1}]]}]]}],["$","g",null,{"className":"dark:hidden","children":[["$","circle",null,{"cx":20,"cy":20,"r":12,"fill":"url(#:S3:-gradient)"}],["$","path",null,{"fillRule":"evenodd","clipRule":"evenodd","d":"M20 24.995c0-1.855 1.094-3.501 2.427-4.792C24.61 18.087 26 15.07 26 12.231 26 7.133 21.523 3 16 3S6 7.133 6 12.23c0 2.84 1.389 5.857 3.573 7.973C10.906 21.494 12 23.14 12 24.995V27a2 2 0 0 0 2 2h4a2 2 0 0 0 2-2v-2.005Z","className":"fill-[var(--icon-background)]","fillOpacity":0.5}],["$","path",null,{"d":"M25 12.23c0 2.536-1.254 5.303-3.269 7.255l1.391 1.436c2.354-2.28 3.878-5.547 3.878-8.69h-2ZM16 4c5.047 0 9 3.759 9 8.23h2C27 6.508 21.998 2 16 2v2Zm-9 8.23C7 7.76 10.953 4 16 4V2C10.002 2 5 6.507 5 12.23h2Zm3.269 7.255C8.254 17.533 7 14.766 7 12.23H5c0 3.143 1.523 6.41 3.877 8.69l1.392-1.436ZM13 27v-2.005h-2V27h2Zm1 1a1 1 0 0 1-1-1h-2a3 3 0 0 0 3 3v-2Zm4 0h-4v2h4v-2Zm1-1a1 1 0 0 1-1 1v2a3 3 0 0 0 3-3h-2Zm0-2.005V27h2v-2.005h-2ZM8.877 20.921C10.132 22.136 11 23.538 11 24.995h2c0-2.253-1.32-4.143-2.731-5.51L8.877 20.92Zm12.854-1.436C20.32 20.852 19 22.742 19 24.995h2c0-1.457.869-2.859 2.122-4.074l-1.391-1.436Z","className":"fill-[var(--icon-foreground)]"}],["$","path",null,{"d":"M20 26a1 1 0 1 0 0-2v2Zm-8-2a1 1 0 1 0 0 2v-2Zm2 0h-2v2h2v-2Zm1 1V13.5h-2V25h2Zm-5-11.5v1h2v-1h-2Zm3.5 4.5h5v-2h-5v2Zm8.5-3.5v-1h-2v1h2ZM20 24h-2v2h2v-2Zm-2 0h-4v2h4v-2Zm-1-10.5V25h2V13.5h-2Zm2.5-2.5a2.5 2.5 0 0 0-2.5 2.5h2a.5.5 0 0 1 .5-.5v-2Zm2.5 2.5a2.5 2.5 0 0 0-2.5-2.5v2a.5.5 0 0 1 .5.5h2ZM18.5 18a3.5 3.5 0 0 0 3.5-3.5h-2a1.5 1.5 0 0 1-1.5 1.5v2ZM10 14.5a3.5 3.5 0 0 0 3.5 3.5v-2a1.5 1.5 0 0 1-1.5-1.5h-2Zm2.5-3.5a2.5 2.5 0 0 0-2.5 2.5h2a.5.5 0 0 1 .5-.5v-2Zm2.5 2.5a2.5 2.5 0 0 0-2.5-2.5v2a.5.5 0 0 1 .5.5h2Z","className":"fill-[var(--icon-foreground)]"}]]}],["$","g",null,{"className":"hidden dark:inline","children":["$","path",null,{"fillRule":"evenodd","clipRule":"evenodd","d":"M16 2C10.002 2 5 6.507 5 12.23c0 3.144 1.523 6.411 3.877 8.691.75.727 1.363 1.52 1.734 2.353.185.415.574.726 1.028.726H12a1 1 0 0 0 1-1v-4.5a.5.5 0 0 0-.5-.5A3.5 3.5 0 0 1 9 14.5V14a3 3 0 1 1 6 0v9a1 1 0 1 0 2 0v-9a3 3 0 1 1 6 0v.5a3.5 3.5 0 0 1-3.5 3.5.5.5 0 0 0-.5.5V23a1 1 0 0 0 1 1h.36c.455 0 .844-.311 1.03-.726.37-.833.982-1.626 1.732-2.353 2.354-2.28 3.878-5.547 3.878-8.69C27 6.507 21.998 2 16 2Zm5 25a1 1 0 0 0-1-1h-8a1 1 0 0 0-1 1 3 3 0 0 0 3 3h4a3 3 0 0 0 3-3Zm-8-13v1.5a.5.5 0 0 1-.5.5 1.5 1.5 0 0 1-1.5-1.5V14a1 1 0 1 1 2 0Zm6.5 2a.5.5 0 0 1-.5-.5V14a1 1 0 1 1 2 0v.5a1.5 1.5 0 0 1-1.5 1.5Z","fill":"url(#:S3:-gradient-dark)"}]}]]}],["$","div",null,{"className":"ml-4 flex-auto","children":[["$","p",null,{"className":"m-0 font-display text-xl text-sky-900 dark:text-sky-400","children":"Working example"}],["$","div",null,{"className":"prose mt-2.5 text-sky-800 [--tw-prose-background:theme(colors.sky.50)] prose-a:text-sky-900 prose-code:text-sky-900 dark:text-slate-300 dark:prose-code:text-slate-300","children":["$","p",null,{"children":["You can see how Stormmore Word settings are made on"," ",["$","a",null,{"href":"https://github.com/stormmoredev/stormmore-word/tree/main/src/infrastructure/settings","children":"github"}]]}]}]]}]]}],["$","div",null,{"className":"my-8 flex rounded-3xl p-6 callout bg-amber-50 dark:bg-slate-800/60 dark:ring-1 dark:ring-slate-300/10","children":[["$","svg",null,{"aria-hidden":"true","viewBox":"0 0 32 32","fill":"none","className":"h-8 w-8 flex-none [--icon-foreground:theme(colors.amber.900)] [--icon-background:theme(colors.amber.100)]","children":[["$","defs",null,{"children":[["$","radialGradient",null,{"cx":0,"cy":0,"r":1,"gradientUnits":"userSpaceOnUse","id":":S4:-gradient","gradientTransform":"rotate(65.924 1.519 20.92) scale(25.7391)","children":[["$","stop","0",{"stopColor":"#FDE68A","offset":".08"}],["$","stop","1",{"stopColor":"#F59E0B","offset":".837"}]]}],["$","radialGradient",null,{"cx":0,"cy":0,"r":1,"gradientUnits":"userSpaceOnUse","id":":S4:-gradient-dark","gradientTransform":"matrix(0 24.5 -24.5 0 16 5.5)","children":[["$","stop","0",{"stopColor":"#FDE68A","offset":".08"}],["$","stop","1",{"stopColor":"#F59E0B","offset":".837"}]]}]]}],["$","g",null,{"className":"dark:hidden","children":[["$","circle",null,{"cx":20,"cy":20,"r":12,"fill":"url(#:S4:-gradient)"}],["$","path",null,{"d":"M3 16c0 7.18 5.82 13 13 13s13-5.82 13-13S23.18 3 16 3 3 8.82 3 16Z","fillOpacity":0.5,"className":"fill-[var(--icon-background)] stroke-[color:var(--icon-foreground)]","strokeWidth":2,"strokeLinecap":"round","strokeLinejoin":"round"}],["$","path",null,{"d":"m15.408 16.509-1.04-5.543a1.66 1.66 0 1 1 3.263 0l-1.039 5.543a.602.602 0 0 1-1.184 0Z","className":"fill-[var(--icon-foreground)] stroke-[color:var(--icon-foreground)]","strokeWidth":2,"strokeLinecap":"round","strokeLinejoin":"round"}],["$","path",null,{"d":"M16 23a1 1 0 1 0 0-2 1 1 0 0 0 0 2Z","fillOpacity":0.5,"stroke":"currentColor","className":"fill-[var(--icon-background)] stroke-[color:var(--icon-foreground)]","strokeWidth":2,"strokeLinecap":"round","strokeLinejoin":"round"}]]}],["$","g",null,{"className":"hidden dark:inline","children":["$","path",null,{"fillRule":"evenodd","clipRule":"evenodd","d":"M2 16C2 8.268 8.268 2 16 2s14 6.268 14 14-6.268 14-14 14S2 23.732 2 16Zm11.386-4.85a2.66 2.66 0 1 1 5.228 0l-1.039 5.543a1.602 1.602 0 0 1-3.15 0l-1.04-5.543ZM16 20a2 2 0 1 0 0 4 2 2 0 0 0 0-4Z","fill":"url(#:S4:-gradient-dark)"}]}]]}],["$","div",null,{"className":"ml-4 flex-auto","children":[["$","p",null,{"className":"m-0 font-display text-xl text-amber-900 dark:text-amber-500","children":"Object properties"}],["$","div",null,{"className":"prose mt-2.5 text-amber-800 [--tw-prose-underline:theme(colors.amber.400)] [--tw-prose-background:theme(colors.amber.50)] prose-a:text-amber-900 prose-code:text-amber-900 dark:text-slate-300 dark:[--tw-prose-underline:theme(colors.sky.700)] dark:prose-code:text-slate-300","children":["$","p",null,{"children":"Loader does not in instantiates object properties!"}]}]]}]]}],["$","h3",null,{"id":"internationalization-i18n","children":"Internationalization (i18n)"}],["$","p",null,{"children":["Build-in support for internationalization (i18n)."," ","Set to \"en-US\" by default."]}],["$","$La",null,{"language":"php","children":"$$app->addConfiguration(function(I18n $i18n)\n{\n $i18n->loadLangFile(\"@/translations/lang/en-US.json\");\n $i18n->loadLocalFile(\"@/translations/local/en-US.json\");\n});\n"}],["$","h4",null,{"id":"local-file","children":"Local file"}],["$","$La",null,{"language":"json","children":"{\n \"locale\": \"en-US\",\n \"dateFormat\": \"Y-MM-d\",\n \"dateTimeFormat\": \"Y-MM-d H:mm\",\n \"currency\": \"USD\"\n}\n"}],["$","h4",null,{"id":"lang-file","children":"Lang file"}],["$","$La",null,{"language":"json","children":"{\n \"Hi\": \"Hello\",\n \"date_interval_y_singular\": \"year ago\",\n \"date_interval_y_plural\": \"%s years ago\",\n \"date_interval_m_singular\": \"month ago\",\n \"date_interval_m_plural\": \"%s months ago\",\n \"date_interval_d_singular\": \"day ago\",\n \"date_interval_d_plural\": \"%s days ago\",\n \"date_interval_h_singular\": \"hour ago\",\n \"date_interval_h_plural\": \"%s hours ago\",\n \"date_interval_i_singular\": \"minute ago\",\n \"date_interval_i_plural\": \"%s minutes ago\",\n \"date_interval_seconds_ago\": \"seconds ago\"\n}\n"}],["$","h3",null,{"id":"error-pages","children":"Error pages"}],["$","p",null,{"children":"Error pages are displayed by codes."}],["$","$La",null,{"language":"php","children":"$$app->addConfiguration(function(I18n $i18n)\n{\n $configuration->errorPages = [\n 500 => '@/templates/500.php',\n 404 => '@/templates/404.php'];\n});\n"}],["$","p",null,{"children":"Invoking error pages."}],["$","$La",null,{"language":"php","children":"throw new Exception($message, 404);\n"}],["$","h3",null,{"id":"application-url","children":"Application Url"}],["$","p",null,{"children":"Domain name under application works. Due to security reasons should be taken from application not from $_SERVER variable."}],["$","h3",null,{"id":"di","children":"Di"}],["$","p",null,{"children":"Manual components registration"}],["$","$La",null,{"language":"php","children":"$$app->addConfiguration(function(Di $di)\n{\n $settings = SettingsLoader::load(new Settings(), '@/settings.json');\n $database = new Database($settings->database->getConnection());\n \n $di->register($settings);\n $di->register($database);\n});\n"}],["$","h3",null,{"id":"view-addons","children":"View Addons"}],["$","p",null,{"children":"File with formatters and helpers available in views."}],["$","$La",null,{"language":"php","children":"$$app->addConfiguration(function(AppConfiguration $configuration)\n{\n $configuration->viewAddons = \"@templates/addons.php\";\n});\n"}]]}]]}],["$","$Lb",null,{}]]}],["$","$Lc",null,{"tableOfContents":[{"level":2,"id":"source-directory","title":"Source directory","children":[]},{"level":2,"id":"configuration","title":"Configuration","children":[{"level":3,"id":"path-aliases","title":"Path aliases"},{"level":3,"id":"settings","title":"Settings"},{"level":3,"id":"internationalization-i18n","title":"Internationalization (i18n)"},{"level":3,"id":"error-pages","title":"Error pages"},{"level":3,"id":"application-url","title":"Application Url"},{"level":3,"id":"di","title":"Di"},{"level":3,"id":"view-addons","title":"View Addons"}]}]}]] 8:[["$","meta","0",{"name":"viewport","content":"width=device-width, initial-scale=1"}],["$","meta","1",{"charSet":"utf-8"}],["$","title","2",{"children":"Stormmore Guide - Index file - Docs"}],["$","meta","3",{"name":"description","content":"Bootstraping Stormmore application."}],["$","link","4",{"rel":"icon","href":"/favicon.ico","type":"image/x-icon","sizes":"16x16"}],["$","meta","5",{"name":"next-size-adjust"}]] 1:null