2026-05-11 05:18:54 +00:00
<!DOCTYPE html>
< html lang = "en" dir = "ltr" >
< head >
< meta charset = "utf-8" >
< meta name = "viewport" content = "width=device-width,initial-scale=1" >
< title > Registry & Plugin System | StaticPHP< / title >
< meta name = "description" content = "A powerful tool designed for building portable executables including PHP, extensions, and more." >
< meta name = "generator" content = "VitePress v2.0.0-alpha.12" >
< link rel = "preload stylesheet" href = "/assets/style.DtFsVR9B.css" as = "style" >
< link rel = "preload stylesheet" href = "/vp-icons.css" as = "style" >
2026-05-21 07:27:56 +00:00
< script type = "module" src = "/assets/app.8D-kHXQG.js" > < / script >
2026-05-11 05:18:54 +00:00
< link rel = "preload" href = "/assets/inter-roman-latin.Di8DUHzh.woff2" as = "font" type = "font/woff2" crossorigin = "" >
2026-05-21 07:27:56 +00:00
< link rel = "modulepreload" href = "/assets/chunks/theme.C7r1p73b.js" >
2026-05-11 05:18:54 +00:00
< link rel = "modulepreload" href = "/assets/chunks/framework.C2AwuPrQ.js" >
< link rel = "modulepreload" href = "/assets/en_develop_registry.md.B5tf5XnG.lean.js" >
< script id = "check-dark-mode" > ( ( ) => { const e = localStorage . getItem ( "vitepress-theme-appearance" ) || "auto" , a = window . matchMedia ( "(prefers-color-scheme: dark)" ) . matches ; ( ! e || e === "auto" ? a : e === "dark" ) && document . documentElement . classList . add ( "dark" ) } ) ( ) ; < / script >
< script id = "check-mac-os" > document . documentElement . classList . toggle ( "mac" , /Mac|iPhone|iPod|iPad/i . test ( navigator . platform ) ) ; < / script >
< / head >
< body >
< div id = "app" > < div class = "Layout" data-v-1df9f90f > <!-- [ --> <!-- ] --> <!-- [ --> < span tabindex = "-1" data-v-0b0ada53 > < / span > < a href = "#VPContent" class = "VPSkipLink visually-hidden" data-v-0b0ada53 > Skip to content< / a > <!-- ] --> <!-- --> < header class = "VPNav" data-v-1df9f90f data-v-9f75dce3 > < div class = "VPNavBar" data-v-9f75dce3 data-v-2a96a3d0 > < div class = "wrapper" data-v-2a96a3d0 > < div class = "container" data-v-2a96a3d0 > < div class = "title" data-v-2a96a3d0 > < div class = "VPNavBarTitle has-sidebar" data-v-2a96a3d0 data-v-1e38c6bc > < a class = "title" href = "/en/" data-v-1e38c6bc > <!-- [ --> <!-- ] --> <!-- [ --> < img class = "VPImage logo" src = "/images/static-php_nobg.png" alt data-v-8426fc1a > <!-- ] --> < span data-v-1e38c6bc > StaticPHP< / span > <!-- [ --> <!-- ] --> < / a > < / div > < / div > < div class = "content" data-v-2a96a3d0 > < div class = "content-body" data-v-2a96a3d0 > <!-- [ --> <!-- ] --> < div class = "VPNavBarSearch search" data-v-2a96a3d0 > <!-- [ --> <!-- --> < div id = "docsearch" > < button type = "button" aria-label = "Search" aria-keyshortcuts = "/ control+k meta+k" class = "DocSearch DocSearch-Button" > < span class = "DocSearch-Button-Container" > < span class = "vpi-search DocSearch-Search-Icon" > < / span > < span class = "DocSearch-Button-Placeholder" > Search< / span > < / span > < span class = "DocSearch-Button-Keys" > < kbd class = "DocSearch-Button-Key" > < / kbd > < kbd class = "DocSearch-Button-Key" > < / kbd > < / span > < / button > < / div > <!-- ] --> < / div > < nav aria-labelledby = "main-nav-aria-label" class = "VPNavBarMenu menu" data-v-2a96a3d0 data-v-39714824 > < span id = "main-nav-aria-label" class = "visually-hidden" data-v-39714824 > Main Navigation < / span > <!-- [ --> <!-- [ --> < a class = "VPLink link VPNavBarMenuLink" href = "/en/guide/" tabindex = "0" data-v-39714824 data-v-e56f3d57 > <!-- [ --> < span data-v-e56f3d57 > Guide< / span > <!-- ] --> < / a > <!-- ] --> <!-- [ --> < a class = "VPLink link VPNavBarMenuLink" href = "/en/develop/" tabindex = "0" data-v-39714824 data-v-e56f3d57 > <!-- [ --> < span data-v-e56f3d57 > Develop< / span > <!-- ] --> < / a > <!-- ] --> <!-- [ --> < a class = "VPLink link VPNavBarMenuLink" href = "/en/contributing/" tabindex = "0" data-v-39714824 data-v-e56f3d57 > <!-- [ --> < span data-v-e56f3d57 > Contributing< / span > <!-- ] --> < / a > <!-- ] --> <!-- [ --> < a class = "VPLink link VPNavBarMenuLink" href = "/en/faq/" tabindex = "0" data-v-39714824 data-v-e56f3d57 > <!-- [ --> < span data-v-e56f3d57 > FAQ< / span > <!-- ] --> < / a > <!-- ] --> <!-- [ --> < div class = "VPFlyout VPNavBarMenuGroup" data-v-39714824 data-v-42cb505d > < button type = "button" class = "button" aria-haspopup = "true" aria-expanded = "false" data-v-42cb505d > < span class = "text" data-v-42cb505d > <!-- --> < span data-v-42cb505d > v3 (alpha)< / span > < span class = "vpi-chevron-down text-icon" data-v-42cb505d > < / span > < / span > < / button > < div class = "menu" data-v-42cb505d > < div class = "VPMenu" data-v-42cb505d data-v-25a6cce8 > < div class = "items" data-v-25a6cce8 > <!-- [ --> <!-- [ --> < div class = "VPMenuLink" data-v-25a6cce8 data-v-cd834e02 > < a class = "VPLink link" href = "/en/" data-v-cd834e02 > <!-- [ --> < span data-v-cd834e02 > v3 (alpha)< / span > <!-- ] --> < / a > < / div > <!-- ] --> <!-- [ --> < div class = "VPMenuLink" data-v-25a6cce8 data-v-cd834e02 > < a class = "VPLink link vp-external-link-icon" href = "https://static-php.github.io/v2-docs/" target = "_blank" rel = "noreferrer" data-v-cd834e02 > <!-- [ --> < span data-v-cd834e02 > v2< / span > <!-- ] --> < / a > < / div > <!-- ] --> <!-- ] --> < / div > <!-- [ --> <!-- ] --> < / div > < / div > < / div > <!-- ] --> <!-- ] --> < / nav > < div class = "VPFlyout VPNavBarTranslations translations" data-v-2a96a3d0 data-v-88af2de4 data-v-42cb505d > < button type = "button" class = "button" aria-haspopup = "true" aria-expanded = "false" aria-label = "Change language" data-v-42cb505d > < span class = "text" data-v-42cb505d > < span class = "vpi-languages option-icon" data-v-42cb505d > < / span > <!-- --> < span class = "vpi-chevron-down text-icon" data-v-42cb505d > < / span > < / span > < / button > < div class = "menu" data-v-42cb505d > < div class = "VPMenu" data-v-42cb505d data-v-25a6cce8 > <!-- --> <!-- [ --> <!-- [ --> < div class = "items" data-v-88af2de4 > < p class = "title" data-v-88af2de4 > English< / p > <!-- [ --> < div class = "VPMenuLink" data-v-88af2de4 data-v-cd834e02 > < a class = "VPLink link" href = "/zh/develop/registry.html" data-v-cd834e02 > <!-- [ --> < span data-v-cd834e02 > 简体中文< / span > <!-- ] --> < / a > < / div > <!-- ] --> < / div > <!-- ] --> <!-- ] --> < / div > <
< span class = "line" > < span style = "--shiki-light:#22863A;--shiki-dark:#85E89D;" > name< / span > < span style = "--shiki-light:#24292E;--shiki-dark:#E1E4E8;" > : < / span > < span style = "--shiki-light:#032F62;--shiki-dark:#9ECBFF;" > my-registry< / span > < / span >
< span class = "line" > < / span >
< span class = "line" > < span style = "--shiki-light:#6A737D;--shiki-dark:#6A737D;" > # [Optional] Composer autoload file path, used when an external registry has its own dependencies< / span > < / span >
< span class = "line" > < span style = "--shiki-light:#22863A;--shiki-dark:#85E89D;" > autoload< / span > < span style = "--shiki-light:#24292E;--shiki-dark:#E1E4E8;" > : < / span > < span style = "--shiki-light:#032F62;--shiki-dark:#9ECBFF;" > vendor/autoload.php< / span > < / span >
< span class = "line" > < / span >
< span class = "line" > < span style = "--shiki-light:#6A737D;--shiki-dark:#6A737D;" > # Package (library / php-extension / target) related configuration< / span > < / span >
< span class = "line" > < span style = "--shiki-light:#22863A;--shiki-dark:#85E89D;" > package< / span > < span style = "--shiki-light:#24292E;--shiki-dark:#E1E4E8;" > :< / span > < / span >
< span class = "line" > < span style = "--shiki-light:#6A737D;--shiki-dark:#6A737D;" > # YAML configuration file directory or specific file paths for packages, can be an array< / span > < / span >
< span class = "line" > < span style = "--shiki-light:#22863A;--shiki-dark:#85E89D;" > config< / span > < span style = "--shiki-light:#24292E;--shiki-dark:#E1E4E8;" > :< / span > < / span >
< span class = "line" > < span style = "--shiki-light:#24292E;--shiki-dark:#E1E4E8;" > - < / span > < span style = "--shiki-light:#032F62;--shiki-dark:#9ECBFF;" > config/pkg/lib/< / span > < / span >
< span class = "line" > < span style = "--shiki-light:#24292E;--shiki-dark:#E1E4E8;" > - < / span > < span style = "--shiki-light:#032F62;--shiki-dark:#9ECBFF;" > config/pkg/target/< / span > < / span >
< span class = "line" > < span style = "--shiki-light:#24292E;--shiki-dark:#E1E4E8;" > - < / span > < span style = "--shiki-light:#032F62;--shiki-dark:#9ECBFF;" > config/pkg/ext/< / span > < / span >
< span class = "line" > < span style = "--shiki-light:#6A737D;--shiki-dark:#6A737D;" > # PSR-4 namespace → directory path mapping for package build classes; the loader scans all PHP classes in the directory< / span > < / span >
< span class = "line" > < span style = "--shiki-light:#22863A;--shiki-dark:#85E89D;" > psr-4< / span > < span style = "--shiki-light:#24292E;--shiki-dark:#E1E4E8;" > :< / span > < / span >
< span class = "line" > < span style = "--shiki-light:#22863A;--shiki-dark:#85E89D;" > Package< / span > < span style = "--shiki-light:#24292E;--shiki-dark:#E1E4E8;" > : < / span > < span style = "--shiki-light:#032F62;--shiki-dark:#9ECBFF;" > src/Package< / span > < / span >
< span class = "line" > < span style = "--shiki-light:#6A737D;--shiki-dark:#6A737D;" > # You can also load specific classes as needed, supporting array format or {" ClassName" : " file path" } mapping< / span > < / span >
< span class = "line" > < span style = "--shiki-light:#6A737D;--shiki-dark:#6A737D;" > # classes:< / span > < / span >
< span class = "line" > < span style = "--shiki-light:#6A737D;--shiki-dark:#6A737D;" > # - Package\Library\MyLib< / span > < / span >
< span class = "line" > < span style = "--shiki-light:#6A737D;--shiki-dark:#6A737D;" > # MyLib: src/Package/Library/MyLib.php< / span > < / span >
< span class = "line" > < / span >
< span class = "line" > < span style = "--shiki-light:#6A737D;--shiki-dark:#6A737D;" > # Artifact (build artifact) related configuration< / span > < / span >
< span class = "line" > < span style = "--shiki-light:#22863A;--shiki-dark:#85E89D;" > artifact< / span > < span style = "--shiki-light:#24292E;--shiki-dark:#E1E4E8;" > :< / span > < / span >
< span class = "line" > < span style = "--shiki-light:#6A737D;--shiki-dark:#6A737D;" > # YAML configuration file directory or specific file paths for artifacts< / span > < / span >
< span class = "line" > < span style = "--shiki-light:#22863A;--shiki-dark:#85E89D;" > config< / span > < span style = "--shiki-light:#24292E;--shiki-dark:#E1E4E8;" > :< / span > < / span >
< span class = "line" > < span style = "--shiki-light:#24292E;--shiki-dark:#E1E4E8;" > - < / span > < span style = "--shiki-light:#032F62;--shiki-dark:#9ECBFF;" > config/artifact/< / span > < / span >
< span class = "line" > < span style = "--shiki-light:#6A737D;--shiki-dark:#6A737D;" > # PSR-4 namespace → directory path mapping for custom artifact download/extract classes< / span > < / span >
< span class = "line" > < span style = "--shiki-light:#22863A;--shiki-dark:#85E89D;" > psr-4< / span > < span style = "--shiki-light:#24292E;--shiki-dark:#E1E4E8;" > :< / span > < / span >
< span class = "line" > < span style = "--shiki-light:#22863A;--shiki-dark:#85E89D;" > Package\Artifact< / span > < span style = "--shiki-light:#24292E;--shiki-dark:#E1E4E8;" > : < / span > < span style = "--shiki-light:#032F62;--shiki-dark:#9ECBFF;" > src/Package/Artifact< / span > < / span >
< span class = "line" > < span style = "--shiki-light:#6A737D;--shiki-dark:#6A737D;" > # classes: ... (same format as package.classes)< / span > < / span >
< span class = "line" > < / span >
< span class = "line" > < span style = "--shiki-light:#6A737D;--shiki-dark:#6A737D;" > # Doctor environment check configuration< / span > < / span >
< span class = "line" > < span style = "--shiki-light:#22863A;--shiki-dark:#85E89D;" > doctor< / span > < span style = "--shiki-light:#24292E;--shiki-dark:#E1E4E8;" > :< / span > < / span >
< span class = "line" > < span style = "--shiki-light:#6A737D;--shiki-dark:#6A737D;" > # PSR-4 namespace → directory path mapping for Doctor check item classes< / span > < / span >
< span class = "line" > < span style = "--shiki-light:#22863A;--shiki-dark:#85E89D;" > psr-4< / span > < span style = "--shiki-light:#24292E;--shiki-dark:#E1E4E8;" > :< / span > < / span >
< span class = "line" > < span style = "--shiki-light:#22863A;--shiki-dark:#85E89D;" > StaticPHP\Doctor\Item< / span > < span style = "--shiki-light:#24292E;--shiki-dark:#E1E4E8;" > : < / span > < span style = "--shiki-light:#032F62;--shiki-dark:#9ECBFF;" > src/StaticPHP/Doctor/Item< / span > < / span >
< span class = "line" > < span style = "--shiki-light:#6A737D;--shiki-dark:#6A737D;" > # classes: ... (same format as package.classes)< / span > < / span >
< span class = "line" > < / span >
< span class = "line" > < span style = "--shiki-light:#6A737D;--shiki-dark:#6A737D;" > # Additional CLI command configuration< / span > < / span >
< span class = "line" > < span style = "--shiki-light:#22863A;--shiki-dark:#85E89D;" > command< / span > < span style = "--shiki-light:#24292E;--shiki-dark:#E1E4E8;" > :< / span > < / span >
< span class = "line" > < span style = "--shiki-light:#6A737D;--shiki-dark:#6A737D;" > # PSR-4 namespace → directory path mapping for custom command classes< / span > < / span >
< span class = "line" > < span style = "--shiki-light:#22863A;--shiki-dark:#85E89D;" > psr-4< / span > < span style = "--shiki-light:#24292E;--shiki-dark:#E1E4E8;" > :< / span > < / span >
< span class = "line" > < span style = "--shiki-light:#22863A;--shiki-dark:#85E89D;" > Package\Command< / span > < span style = "--shiki-light:#24292E;--shiki-dark:#E1E4E8;" > : < / span > < span style = "--shiki-light:#032F62;--shiki-dark:#9ECBFF;" > src/Package\Command< / span > < / span >
< span class = "line" > < span style = "--shiki-light:#6A737D;--shiki-dark:#6A737D;" > # classes: ... (same format as package.classes)< / span > < / span > < / code > < / pre > < / div > < p > Top-level field descriptions:< / p > < table tabindex = "0" > < thead > < tr > < th > Field< / th > < th > Required< / th > < th > Description< / th > < / tr > < / thead > < tbody > < tr > < td > < code > name< / code > < / td > < td > ✅< / td > < td > Unique registry name; loading a registry with a duplicate name is automatically skipped< / td > < / tr > < tr > < td > < code > autoload< / code > < / td > < td > < / td > < td > Composer autoload file path, for external registries that carry their own dependencies< / td > < / tr > < tr > < td > < code > package< / code > < / td > < td > < / td > < td > Package definition, including YAML config (< code > config< / code > ) and build classes (< code > psr-4< / code > / < code > classes< / code > )< / td > < / tr > < tr > < td > < code > artifact< / code > < / td > < td > < / td > < td > Artifact definition, including YAML config (< code > config< / code > ) and custom classes (< code > psr-4< / code > / < code > classes< / code > )< / td > < / tr > < tr > < td > < code > doctor< / code > < / td > < td > < / td > < td > Doctor check item definition, class loading only (< code > psr-4< / code > / < code > classes< / code > )< / td > < / tr > < tr > < td > < code > command< / code > < / td > < td > < / td > < td > Additional CLI command definition, class loading only (< code > psr-4< / code > / < code > classes< / code > )< / td > < / tr > < / tbody > < / table > < p > The difference between < code > psr-4< / code > and < code > classes< / code > : < code > psr-4< / code > scans all PHP classes in the entire directory that match the namespace rules and registers them in bulk; < code > classes< / code > is used to precisely specify individual classes, supporting plain array format (< code > [" ClassName" ]< / code > , must already be available in autoload) or key-value mapping format (< code > {" ClassName" : " path/to/file.php" }< / code > , the loader will automatically < code > require< / code > the corresponding file).< / p > < / div > < / div > < / main > < footer class = "VPDocFooter" data-v-7011f0d8 data-v-e257564d > <!-- [ --> <!-- ] --> <!-- --> < nav class = "prev-next" aria-labelledby = "doc-footer-aria-label" data-v-e257564d > < span class = "visually-hidden" id = "doc-footer-aria-label" data-v-e257564d > Pager< / span > < div class = "pager" data-v-e257564d > < a class = "VPLink link pager-link prev" href = "/en/develop/structure.html" data-v-e257564d > <!-- [ --> < span class = "desc" data-v-e257564d > Previous page< / span > < span class = "title" data-v-e257564d > Project Structure< / span > <!-- ] --> < / a > < / div > < div class = "pager" data-v-e257564d > < a class = "VPLink link pager-link next" href = "/en/develop/package-model.html" data-v-e257564d > <!-- [ --> < span class = "desc" data-v-e257564d > Next page< / span > < span class = "title" data-v-e257564d > Package Model< / span > <!-- ] --> < / a > < / div > < / nav > < / footer > <!-- [ --> <!-- ] --> < / div > < / div > < / div > <!-- [ --> <!-- ] --> < / div > < / div > < footer class = "VPFooter has-sidebar" data-v-1df9f90f data-v-c3855bb3 > < div class = "container" data-v-c3855bb3 > < p class = "message" data-v-c3855bb3 > Released under the MIT License.< / p > < p class = "copyright" data-v-c3855bb3 > Copyright © 2023-present crazywhalecc< / p > < / div > < / footer > <!-- [ --> <!-- ] --> < / div > < / div >
2026-05-21 07:27:56 +00:00
< script > w i n d o w . _ _ V P _ H A S H _ M A P _ _ = J S O N . p a r s e ( " { \ " d e p s - c r a f t - y m l . m d \ " : \ " D a R p 5 s D R \ " , \ " e n _ c o n t r i b u t i n g _ i n d e x . m d \ " : \ " B w 6 a G Z o 7 \ " , \ " e n _ d e v e l o p _ a r t i f a c t - m o d e l . m d \ " : \ " B e 9 w N _ Z U \ " , \ " e n _ d e v e l o p _ b u i l d - l i f e c y c l e . m d \ " : \ " B r k k r O I 9 \ " , \ " e n _ d e v e l o p _ c r a f t - y m l . m d \ " : \ " C J q l R A W M \ " , \ " e n _ d e v e l o p _ d o c t o r - m o d u l e . m d \ " : \ " B P x _ g h 7 b \ " , \ " e n _ d e v e l o p _ e x t e n d i n g _ a n n o t a t i o n s . m d \ " : \ " r W E g D 5 t 7 \ " , \ " e n _ d e v e l o p _ e x t e n d i n g _ c u s t o m - a r t i f a c t . m d \ " : \ " B Q o f t n U i \ " , \ " e n _ d e v e l o p _ e x t e n d i n g _ d e p e n d e n c y - i n j e c t i o n . m d \ " : \ " 3 R v n s J s 8 \ " , \ " e n _ d e v e l o p _ e x t e n d i n g _ i n d e x . m d \ " : \ " C B A L g G v M \ " , \ " e n _ d e v e l o p _ e x t e n d i n g _ l i f e c y c l e - h o o k s . m d \ " : \ " T H 5 1 a j M N \ " , \ " e n _ d e v e l o p _ e x t e n d i n g _ p a c k a g e - c l a s s e s . m d \ " : \ " D L 4 7 s x q 4 \ " , \ " e n _ d e v e l o p _ i n d e x . m d \ " : \ " C D P d L d X m \ " , \ " e n _ d e v e l o p _ p a c k a g e - m o d e l . m d \ " : \ " D 5 w i X v y a \ " , \ " e n _ d e v e l o p _ p h p - s r c - c h a n g e s . m d \ " : \ " C I U U e v P f \ " , \ " e n _ d e v e l o p _ r e g i s t r y . m d \ " : \ " B 5 t f 5 X n G \ " , \ " e n _ d e v e l o p _ s t r u c t u r e . m d \ " : \ " B 3 a Y 4 J 4 P \ " , \ " e n _ d e v e l o p _ s y s t e m - b u i l d - t o o l s . m d \ " : \ " a R 6 v g J M i \ " , \ " e n _ f a q _ i n d e x . m d \ " : \ " B u t q L R A C \ " , \ " e n _ g u i d e _ c l i - g e n e r a t o r . m d \ " : \ " B I A L M D z k \ " , \ " e n _ g u i d e _ c l i - r e f e r e n c e . m d \ " : \ " B 6 z U x F d M \ " , \ " e n _ g u i d e _ d e p s - m a p . m d \ " : \ " B 9 M 0 h 5 G J \ " , \ " e n _ g u i d e _ e n v - v a r s . m d \ " : \ " B 5 J O Z L 1 S \ " , \ " e n _ g u i d e _ e x t e n s i o n - n o t e s . m d \ " : \ " C 1 Q F g 1 E 9 \ " , \ " e n _ g u i d e _ e x t e n s i o n s . m d \ " : \ " S a k K J u r E \ " , \ " e n _ g u i d e _ f i r s t - b u i l d . m d \ " : \ " C 3 L O d 7 9 t \ " , \ " e n _ g u i d e _ i n d e x . m d \ " : \ " h f 3 e d r T D \ " , \ " e n _ g u i d e _ i n s t a l l a t i o n . m d \ " : \ " D N c S r g I L \ " , \ " e n _ g u i d e _ m i g r a t e - f r o m - v 2 . m d \ " : \ " C f V y m F n T \ " , \ " e n _ g u i d e _ s a p i - r e f e r e n c e . m d \ " : \ " D x 3 F n m W 6 \ " , \ " e n _ g u i d e _ t r o u b l e s h o o t i n g . m d \ " : \ " M c 4 Z U z P - \ " , \ " e n _ i n d e x . m d \ " : \ " C B c E r O l W \ " , \ " i n d e x . m d \ " : \ " C Q d C - w o s \ " , \ " z h _ c o n t r i b u t i n g _ i n d e x . m d \ " : \ " B x N P L W 0 M \ " , \ " z h _ d e v e l o p _ a r t i f a c t - m o d e l . m d \ " : \ " B t c N B k 1 j \ " , \ " z h _ d e v e l o p _ b u i l d - l i f e c y c l e . m d \ " : \ " D 1 J b j v D B \ " , \ " z h _ d e v e l o p _ c r a f t - y m l . m d \ " : \ " o Q n 7 y Y _ F \ " , \ " z h _ d e v e l o p _ d o c t o r - m o d u l e . m d \ " : \ " D A z J o W w n \ " , \ " z h _ d e v e l o p _ e x t e n d i n g _ a n n o t a t i o n s . m d \ " : \ " D A a 7 F G 7 j \ " , \ " z h _ d e v e l o p _ e x t e n d i n g _ c u s t o m - a r t i f a c t . m d \ " : \ " B T E W H 7 K O \ " , \ " z h _ d e v e l o p _ e x t e n d i n g _ d e p e n d e n c y - i n j e c t i o n . m d \ " : \ " P L k r v 4 4 m \ " , \ " z h _ d e v e l o p _ e x t e n d i n g _ i n d e x . m d \ " : \ " B 4 7 8 M p x 4 \ " , \ " z h _ d e v e l o p _ e x t e n d i n g _ l i f e c y c l e - h o o k s . m d \ " : \ " B N d l H r B u \ " , \ " z h _ d e v e l o p _ e x t e n d i n g _ p a c k a g e - c l a s s e s . m d \ " : \ " C L o f M - p E \ " , \ " z h _ d e v e l o p _ i n d e x . m d \ " : \ " C Y r 9 2 Q 4 h \ " , \ " z h _ d e v e l o p _ p a c k a g e - m o d e l . m d \ " : \ " D Y R Z 8 a a f \ " , \ " z h _ d e v e l o p _ p h p - s r c - c h a n g e s . m d \ " : \ " Q I F U E Z H E \ " , \ " z h _ d e v e l o p _ r e g i s t r y . m d \ " : \ " B v R B m o G T \ " , \ " z h _ d e v e l o p _ s t r u c t u r e . m d \ " : \ " E p U h x f r R \ " , \ " z h _ d e v e l o p _ s y s t e m - b u i l d - t o o l s . m d \ " : \ " D E E E 1 r a f \ " , \ " z h _ f a q _ i n d e x . m d \ " : \ " D k T l d A 8 b \ " , \ " z h _ g u i d e _ c l i - g e n e r a t o r . m d \ " : \ " D - d K 4 d G b \ " , \ " z h _ g u i d e _ c l i - r e f e r e n c e . m d \ " : \ " D M t t i e G z \ " , \ " z h _ g u i d e _ d e p s - m a p . m d \ " : \ " B s u d O L o r \ " , \ " z h _ g u i d e _ e n v - v a r s . m d \ " : \ " B s 7 2 W 9 9 k \ " , \ " z h _ g u i d e _ e x t e n s i o n - n o t e s . m d \ " : \ " D - K M l a i u \ " , \ " z h _ g u i d e _ e x t e n s i o n s . m d \ " : \ " g A H a Z J u Z \ " , \ " z h _ g u i d e _ f i r s t - b u i l d . m d \ " : \ " C Q d F h K s g \ " , \ " z h _ g u i d e _ i n d e x . m d \ " : \ " D a R L 6 S e g \ " , \ " z h _ g u i d e _ i n s t a l l a t i o n . m d \ " : \ " A p 2 s n x X u \ " , \ " z h _ g u i d e _ m i g r a t e - f r o m - v 2 . m d \ " : \ " D f 8 w n m f P \ " , \ " z h _ g u i d e _ s a p i - r e f e r e n c e . m d \ " : \ " D X v 5 e V 6 I \ " , \ " z h _ g u i d e _ t r o u b l e s h o o t i n g . m d \ " : \ " C u e H H Z k W \ " , \ " z h _ i n d e x . m d \ " : \ " D Z q h W d u K \ " } " ) ; w i n d o w . _ _ V P _ S I T E _ D A T A _ _ = J S O N . p a r s e ( " { \ " l a n g \ " : \ " e n - U S \ " , \ " d i r \ " : \ " l t r \ " , \ " t i t l e \ " : \ " S t a t i c P H P \ " , \ " d e s c r i p t i o n \ " : \ " A p o w e r f u l t o o l d e s i g n e d f o r b u i l d i n g p o r t a b l e e x e c u t a b l e s i n c l u d i n g P H P , e x t e n s i o n s , a n d m o r e . \ " , \ " b a s e \ " : \ " / \ " , \ " h e a d \ " : [ ] , \ " r o u t e r \ " : { \ " p r e f e t c h L i n k s \ " : t r u e } , \ " a p p e a r a n c e \ " : t r u e , \ " t h e m e C o n f i g \ " : { \ " l o g o \ " : \ " / i m a g e s / s t a t i c - p h p _ n o b g . p n g \ " , \ " n a v \ " : [ ] , \ " s o c i a l L i n k s \ " : [ { \ " i c o n \ " : \ " g i t h u b \ " , \ " l i n k \ " : \ " h t t p s : / / g i t h u b . c o m / c r a z y w h a l e c c / s t a t i c - p h p - c l i \ " } ] , \ " f o o t e r \ " : { \ " m e s s a g e \ " : \ " R e l e a s e d u n d e r t h e M I T L i c e n s e . \ " , \ " c o p y r i g h t \ " : \ " C o p y r i g h t © 2 0 2 3 - p r e s e n t c r a z y w h a l e c c \ " } , \ " e x t e r n a l L i n k I c o n \ " : t r u e , \ " s e a r c h \ " : { \ " p r o v i d e r \ " : \ " a l g o l i a \ " , \ " o p t i o n s \ " : { \ " a p p I d \ " : \ " I H J H U B 1 S F 1 \ " , \ " a p i K e y \ " : \ " 8 2 6 6 d 3 1 c c 2 f f b d 0 e 0 5 9 f 1 c 6 e 5 b d a f 8 f c \ " , \ " i n d e x N a m e \ " : \ " s t a t i c - p h p d o c s \ " , \ " a s k A i \ " : { \ " a s s i s t a n t I d \ " : \ " b 7 2 3 6 9 b 2 - 6 0 a 5 - 4 6 1 d - 9 0 2 c - 5 c 1 8 d 8 c 0 5 9 0 2 \ " , \ " a g e n t S t u d i o \ " : t r u e , \ " s i d e P a n e l \ " : t r u e } } } } , \ " l o c a l e s \ " : { \ " e n \ " : { \ " l a b e l \ " : \ " E n g l i s h \ " , \ " l a n g \ " : \ " e n \ " , \ " t h e m e C o n f i g \ " : { \ " n a v \ " : [ { \ " t e x t \ " : \ " G u i d e \ " , \ " l i n k \ " : \ " / e n / g u i d e / \ " } , { \ " t e x t \ " : \ " D e v e l o p \ " , \ " l i n k \ " : \ " / e n / d e v e l o p / \ " } , { \ " t e x t \ " : \ " C o n t r i b u t i n g \ " , \ " l i n k \ " : \ " / e n / c o n t r i b u t i n g / \ " } , { \ " t e x t \ " : \ " F A Q \ " , \ " l i n k \ " : \ " / e n / f a q / \ " } , { \ " t e x t \ " : \ " v 3 ( a l p h a ) \ " , \ " i t e m s \ " : [ { \ " t e x t \ " : \ " v 3 ( a l p h a ) \ " , \ " l i n k \ " : \ " / e n / \
2026-05-11 05:18:54 +00:00
< / body >
< / html >