# PHPDOC specification

<div class="Y3BBE" data-hveid="CAEQAA" data-processed="true" data-sfc-cp="" id="bkmrk-phpdoc-is%C2%A0a-standard" jsaction="rcuQ6b:&gobUCe_7|npT2md" jscontroller="zcfIf" jsuid="gobUCe_7" style="font-family: 'Google Sans', Roboto, Arial, sans-serif; font-size: 16px; line-height: 24px; overflow-wrap: break-word; margin: 0px 0px 20px; color: rgb(10, 10, 10); font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: start; text-indent: 0px; text-transform: none; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; white-space: normal; background-color: rgb(255, 255, 255); text-decoration-thickness: initial; text-decoration-style: initial; text-decoration-color: initial;">PHPDoc is <mark class="HxTRcb" data-processed="true" style="color: rgb(0, 29, 53); border-radius: 4px; background: linear-gradient(90deg, rgb(211, 227, 253) 50%, rgba(0, 0, 0, 0) 50%) 75% 0px / 200% 100% no-repeat scroll padding-box border-box rgba(0, 0, 0, 0); padding: 0px 2px; font-weight: 500; animation: 0.75s cubic-bezier(0.05, 0.7, 0.1, 1) 0.25s 1 normal forwards running highlight-animation;">a standard for documenting PHP code using special comments (DocBlocks) that describe classes, functions, and variables</mark>, allowing tools like phpDocumentor to generate API docs and IDEs to offer better code intelligence (type hinting, completion). It's JavaDoc-inspired, uses `@tags` (like `@param`, `@return`), and is being formalized by the PHP Framework Interoperability Group (PHP-FIG) through [PHP Standards Recommendations](https://www.google.com/search?q=PHP+Standards+Recommendations&oq=PHPDOC+specification&gs_lcrp=EgZjaHJvbWUyBggAEEUYOTIHCAEQIRigATIHCAIQIRiPAtIBBzkwMWowajeoAgCwAgA&sourceid=chrome&ie=UTF-8&mstk=AUtExfBg3Z6uO_TkpGSqsrem08rvmRlH4NNViubwrn9a1xbiV3S-G5TxF5LERU1DYzg6mSGDuObD1G_ZVCvnQVLEhfTO5UMTpCr94SzbKYtJ7aIXUpmlx50mME0XnDYlLWPhSLQ0_Y6lseC_3Fy2zioy4X44VYacIULhmkau6Yb_nyTjptM&csui=3&ved=2ahUKEwiFpv_a5bSRAxUma2wGHbn5IjAQgK4QegQIARAC) (PSRs) for a consistent specification.<span class="uJ19be notranslate" data-processed="true" data-wiz-uids="gobUCe_e,gobUCe_f,gobUCe_g"><span class="vKEkVd" data-animation-atomic="" data-processed="true" style="white-space: nowrap; position: relative;"> <button aria-label="View related links" class="rBl3me" data-amic="true" data-icl-uuid="03a7e645-31c4-4e26-942c-cf1c575e1bdd" data-processed="true" data-ved="2ahUKEwiFpv_a5bSRAxUma2wGHbn5IjAQye0OegQIARAD" data-wiz-attrbind="disabled=gobUCe_e/C5gNJc;class=gobUCe_e/UpSNec;" style="margin: 0px 6px 0px 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgb(229, 237, 255); border: none; border-radius: 10px; height: 20px; padding: 0px; width: 28px; position: relative; outline: 0px; cursor: pointer;" tabindex="0"><span class="wiMplc ofC0Ud" data-processed="true" style="color: rgb(0, 29, 53); display: inline-block; transform: rotate(135deg);"><svg fill="currentColor" focusable="false" height="12px" style="margin-top: 3px;" viewbox="0 0 24 24" width="12px" xmlns="http://www.w3.org/2000/svg"><path d="M3.9 12c0-1.71 1.39-3.1 3.1-3.1h4V7H7c-2.76 0-5 2.24-5 5s2.24 5 5 5h4v-1.9H7c-1.71 0-3.1-1.39-3.1-3.1zM8 13h8v-2H8v2zm9-6h-4v1.9h4c1.71 0 3.1 1.39 3.1 3.1s-1.39 3.1-3.1 3.1h-4V17h4c2.76 0 5-2.24 5-5s-2.24-5-5-5z"></path></svg></span></button></span></span></div><div class="Fsg96" data-processed="true" data-sfc-cp="" id="bkmrk-" jsaction="rcuQ6b:&gobUCe_k|npT2md" jscontroller="KHhJQ" jsuid="gobUCe_k" style="color: rgb(10, 10, 10); font-family: 'Google Sans', Roboto, Arial, sans-serif; font-size: 16px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: start; text-indent: 0px; text-transform: none; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; white-space: normal; background-color: rgb(255, 255, 255); text-decoration-thickness: initial; text-decoration-style: initial; text-decoration-color: initial;">  
</div><div aria-level="3" class="otQkpb" data-animation-nesting="" data-processed="true" data-sfc-cp="" id="bkmrk-core-components-of-p" jscontroller="a7qCn" jsuid="gobUCe_l" role="heading" style="color: rgb(0, 29, 53); font-family: 'Google Sans', Roboto, Arial, sans-serif; font-size: 20px; line-height: 28px; margin: 20px 0px 10px; font-weight: 600; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; letter-spacing: normal; orphans: 2; text-align: start; text-indent: 0px; text-transform: none; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; white-space: normal; background-color: rgb(255, 255, 255); text-decoration-thickness: initial; text-decoration-style: initial; text-decoration-color: initial;">Core Components of PHPDoc<span class="txxDge notranslate" data-processed="true" data-wiz-uids="gobUCe_m,gobUCe_n,gobUCe_o" style="visibility: hidden;"><span class="vKEkVd" data-animation-atomic="" data-processed="true" style="white-space: nowrap; position: relative;"><button aria-label="View related links" class="rBl3me" data-amic="true" data-icl-uuid="f70ee258-dbdd-4605-82c7-33343fcf10f6" data-processed="true" data-ved="2ahUKEwiFpv_a5bSRAxUma2wGHbn5IjAQye0OegQIAhAA" data-wiz-attrbind="disabled=gobUCe_m/C5gNJc;class=gobUCe_m/UpSNec;" style="margin: 0px 6px 0px 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgb(229, 237, 255); border: none; border-radius: 10px; height: 20px; padding: 0px; width: 28px; position: relative; outline: 0px; cursor: pointer;" tabindex="0"><span class="wiMplc ofC0Ud" data-processed="true" style="color: rgb(0, 29, 53); display: inline-block; transform: rotate(135deg);"><svg fill="currentColor" focusable="false" height="12px" style="margin-top: 3px;" viewbox="0 0 24 24" width="12px" xmlns="http://www.w3.org/2000/svg"><path d="M3.9 12c0-1.71 1.39-3.1 3.1-3.1h4V7H7c-2.76 0-5 2.24-5 5s2.24 5 5 5h4v-1.9H7c-1.71 0-3.1-1.39-3.1-3.1zM8 13h8v-2H8v2zm9-6h-4v1.9h4c1.71 0 3.1 1.39 3.1 3.1s-1.39 3.1-3.1 3.1h-4V17h4c2.76 0 5-2.24 5-5s-2.24-5-5-5z"></path></svg></span></button></span></span></div>- <span class="T286Pc" data-processed="true" data-sfc-cp="" style="overflow-wrap: break-word;">**DocBlocks:** Multi-line C-style comments (`/** ... */`) placed before code elements.</span>
- <span class="T286Pc" data-processed="true" data-sfc-cp="" style="overflow-wrap: break-word;">**Summary:** A brief, one-line description, ending with a period or two newlines.</span>
- <span class="T286Pc" data-processed="true" data-sfc-cp="" style="overflow-wrap: break-word;">**Description:** An extended, detailed explanation, supporting Markdown.</span>
- <span class="T286Pc" data-processed="true" data-sfc-cp="" style="overflow-wrap: break-word;">**Tags:** Special descriptors starting with `@` (e.g., `@var`, `@param`, `@return`, `@access`, `@throws`) for metadata.</span><span class="uJ19be notranslate" data-processed="true" data-wiz-uids="gobUCe_19,gobUCe_1a,gobUCe_1b"><span class="vKEkVd" data-animation-atomic="" data-processed="true" style="white-space: nowrap; position: relative;"> <button aria-label="View related links" class="rBl3me" data-amic="true" data-icl-uuid="574a1f3d-cea5-4b16-979e-5c2beb9f5493" data-processed="true" data-ved="2ahUKEwiFpv_a5bSRAxUma2wGHbn5IjAQye0OegQIAxAE" data-wiz-attrbind="disabled=gobUCe_19/C5gNJc;class=gobUCe_19/UpSNec;" style="margin: 0px 6px 0px 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgb(229, 237, 255); border: none; border-radius: 10px; height: 20px; padding: 0px; width: 28px; position: relative; outline: 0px; cursor: pointer;" tabindex="0"><span class="wiMplc ofC0Ud" data-processed="true" style="color: rgb(0, 29, 53); display: inline-block; transform: rotate(135deg);"><svg fill="currentColor" focusable="false" height="12px" style="margin-top: 3px;" viewbox="0 0 24 24" width="12px" xmlns="http://www.w3.org/2000/svg"><path d="M3.9 12c0-1.71 1.39-3.1 3.1-3.1h4V7H7c-2.76 0-5 2.24-5 5s2.24 5 5 5h4v-1.9H7c-1.71 0-3.1-1.39-3.1-3.1zM8 13h8v-2H8v2zm9-6h-4v1.9h4c1.71 0 3.1 1.39 3.1 3.1s-1.39 3.1-3.1 3.1h-4V17h4c2.76 0 5-2.24 5-5s-2.24-5-5-5z"></path></svg></span></button></span></span>

<div class="Fsg96" data-processed="true" data-sfc-cp="" id="bkmrk--1" jsaction="rcuQ6b:&gobUCe_1e|npT2md" jscontroller="KHhJQ" jsuid="gobUCe_1e" style="color: rgb(10, 10, 10); font-family: 'Google Sans', Roboto, Arial, sans-serif; font-size: 16px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: start; text-indent: 0px; text-transform: none; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; white-space: normal; background-color: rgb(255, 255, 255); text-decoration-thickness: initial; text-decoration-style: initial; text-decoration-color: initial;">  
</div><div aria-level="3" class="otQkpb" data-animation-nesting="" data-processed="true" data-sfc-cp="" id="bkmrk-key-tags-%26-examples" jscontroller="a7qCn" jsuid="gobUCe_1f" role="heading" style="color: rgb(0, 29, 53); font-family: 'Google Sans', Roboto, Arial, sans-serif; font-size: 20px; line-height: 28px; margin: 20px 0px 10px; font-weight: 600; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; letter-spacing: normal; orphans: 2; text-align: start; text-indent: 0px; text-transform: none; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; white-space: normal; background-color: rgb(255, 255, 255); text-decoration-thickness: initial; text-decoration-style: initial; text-decoration-color: initial;">Key Tags &amp; Examples<span class="txxDge notranslate" data-processed="true" data-wiz-uids="gobUCe_1g,gobUCe_1h,gobUCe_1i" style="visibility: hidden;"><span class="vKEkVd" data-animation-atomic="" data-processed="true" style="white-space: nowrap; position: relative;"><button aria-label="View related links" class="rBl3me" data-amic="true" data-icl-uuid="9c1f9805-64c9-40d6-ab22-9bcbb912e758" data-processed="true" data-ved="2ahUKEwiFpv_a5bSRAxUma2wGHbn5IjAQye0OegQIBBAA" data-wiz-attrbind="disabled=gobUCe_1g/C5gNJc;class=gobUCe_1g/UpSNec;" style="margin: 0px 6px 0px 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgb(229, 237, 255); border: none; border-radius: 10px; height: 20px; padding: 0px; width: 28px; position: relative; outline: 0px; cursor: pointer;" tabindex="0"><span class="wiMplc ofC0Ud" data-processed="true" style="color: rgb(0, 29, 53); display: inline-block; transform: rotate(135deg);"><svg fill="currentColor" focusable="false" height="12px" style="margin-top: 3px;" viewbox="0 0 24 24" width="12px" xmlns="http://www.w3.org/2000/svg"><path d="M3.9 12c0-1.71 1.39-3.1 3.1-3.1h4V7H7c-2.76 0-5 2.24-5 5s2.24 5 5 5h4v-1.9H7c-1.71 0-3.1-1.39-3.1-3.1zM8 13h8v-2H8v2zm9-6h-4v1.9h4c1.71 0 3.1 1.39 3.1 3.1s-1.39 3.1-3.1 3.1h-4V17h4c2.76 0 5-2.24 5-5s-2.24-5-5-5z"></path></svg></span></button></span></span></div>- <span class="T286Pc" data-processed="true" data-sfc-cp="" style="overflow-wrap: break-word;">`@param`: Describes a function parameter (`@param string $name`).</span>
- <span class="T286Pc" data-processed="true" data-sfc-cp="" style="overflow-wrap: break-word;">`@return`: Describes the return value (`@return bool`).</span>
- <span class="T286Pc" data-processed="true" data-sfc-cp="" style="overflow-wrap: break-word;">`@var`: Describes a property or variable type (`@var int $count`).</span>
- <span class="T286Pc" data-processed="true" data-sfc-cp="" style="overflow-wrap: break-word;">`@throws`: Documents exceptions thrown (`@throws \Exception`).</span><span class="txxDge notranslate" data-processed="true" data-wiz-uids="gobUCe_20,gobUCe_21,gobUCe_22" style="visibility: hidden;"><span class="vKEkVd" data-animation-atomic="" data-processed="true" style="white-space: nowrap; position: relative;"><button aria-label="View related links" class="rBl3me" data-amic="true" data-icl-uuid="fa5605f2-9035-4a52-bd8b-096e52200e77" data-processed="true" data-ved="2ahUKEwiFpv_a5bSRAxUma2wGHbn5IjAQye0OegQIBRAE" data-wiz-attrbind="disabled=gobUCe_20/C5gNJc;class=gobUCe_20/UpSNec;" style="margin: 0px 6px 0px 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgb(229, 237, 255); border: none; border-radius: 10px; height: 20px; padding: 0px; width: 28px; position: relative; outline: 0px; cursor: pointer;" tabindex="0"><span class="wiMplc ofC0Ud" data-processed="true" style="color: rgb(0, 29, 53); display: inline-block; transform: rotate(135deg);"><svg fill="currentColor" focusable="false" height="12px" style="margin-top: 3px;" viewbox="0 0 24 24" width="12px" xmlns="http://www.w3.org/2000/svg"><path d="M3.9 12c0-1.71 1.39-3.1 3.1-3.1h4V7H7c-2.76 0-5 2.24-5 5s2.24 5 5 5h4v-1.9H7c-1.71 0-3.1-1.39-3.1-3.1zM8 13h8v-2H8v2zm9-6h-4v1.9h4c1.71 0 3.1 1.39 3.1 3.1s-1.39 3.1-3.1 3.1h-4V17h4c2.76 0 5-2.24 5-5s-2.24-5-5-5z"></path></svg></span></button></span></span>

<div class="Fsg96" data-processed="true" data-sfc-cp="" id="bkmrk--2" jsaction="rcuQ6b:&gobUCe_23|npT2md" jscontroller="KHhJQ" jsuid="gobUCe_23" style="color: rgb(10, 10, 10); font-family: 'Google Sans', Roboto, Arial, sans-serif; font-size: 16px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: start; text-indent: 0px; text-transform: none; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; white-space: normal; background-color: rgb(255, 255, 255); text-decoration-thickness: initial; text-decoration-style: initial; text-decoration-color: initial;">  
</div><div aria-level="3" class="otQkpb" data-animation-nesting="" data-processed="true" data-sfc-cp="" id="bkmrk-why-it%27s-important" jscontroller="a7qCn" jsuid="gobUCe_24" role="heading" style="color: rgb(0, 29, 53); font-family: 'Google Sans', Roboto, Arial, sans-serif; font-size: 20px; line-height: 28px; margin: 20px 0px 10px; font-weight: 600; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; letter-spacing: normal; orphans: 2; text-align: start; text-indent: 0px; text-transform: none; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; white-space: normal; background-color: rgb(255, 255, 255); text-decoration-thickness: initial; text-decoration-style: initial; text-decoration-color: initial;">Why It's Important<span class="txxDge notranslate" data-processed="true" data-wiz-uids="gobUCe_25,gobUCe_26,gobUCe_27" style="visibility: hidden;"><span class="vKEkVd" data-animation-atomic="" data-processed="true" style="white-space: nowrap; position: relative;"><button aria-label="View related links" class="rBl3me" data-amic="true" data-icl-uuid="b08d3da7-c6c6-4c92-a98d-c1b10c880a1a" data-processed="true" data-ved="2ahUKEwiFpv_a5bSRAxUma2wGHbn5IjAQye0OegQIBhAA" data-wiz-attrbind="disabled=gobUCe_25/C5gNJc;class=gobUCe_25/UpSNec;" style="margin: 0px 6px 0px 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgb(229, 237, 255); border: none; border-radius: 10px; height: 20px; padding: 0px; width: 28px; position: relative; outline: 0px; cursor: pointer;" tabindex="0"><span class="wiMplc ofC0Ud" data-processed="true" style="color: rgb(0, 29, 53); display: inline-block; transform: rotate(135deg);"><svg fill="currentColor" focusable="false" height="12px" style="margin-top: 3px;" viewbox="0 0 24 24" width="12px" xmlns="http://www.w3.org/2000/svg"><path d="M3.9 12c0-1.71 1.39-3.1 3.1-3.1h4V7H7c-2.76 0-5 2.24-5 5s2.24 5 5 5h4v-1.9H7c-1.71 0-3.1-1.39-3.1-3.1zM8 13h8v-2H8v2zm9-6h-4v1.9h4c1.71 0 3.1 1.39 3.1 3.1s-1.39 3.1-3.1 3.1h-4V17h4c2.76 0 5-2.24 5-5s-2.24-5-5-5z"></path></svg></span></button></span></span></div>- <span class="T286Pc" data-processed="true" data-sfc-cp="" style="overflow-wrap: break-word;">**Code Readability:** Makes code self-documenting.</span>
- <span class="T286Pc" data-processed="true" data-sfc-cp="" style="overflow-wrap: break-word;">**IDE Support:** Enables type inference and better autocompletion in IDEs (PhpStorm, NetBeans).</span>
- <span class="T286Pc" data-processed="true" data-sfc-cp="" style="overflow-wrap: break-word;">**Automated Docs:** Generators (phpDocumentor) create searchable, navigable websites from comments.</span><span class="uJ19be notranslate" data-processed="true" data-wiz-uids="gobUCe_2i,gobUCe_2j,gobUCe_2k"><span class="vKEkVd" data-animation-atomic="" data-processed="true" style="white-space: nowrap; position: relative;"> <button aria-label="View related links" class="rBl3me" data-amic="true" data-icl-uuid="49dcc4dd-d59a-4abe-8d72-278277a4a672" data-processed="true" data-ved="2ahUKEwiFpv_a5bSRAxUma2wGHbn5IjAQye0OegQIBxAD" data-wiz-attrbind="disabled=gobUCe_2i/C5gNJc;class=gobUCe_2i/UpSNec;" style="margin: 0px 6px 0px 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgb(229, 237, 255); border: none; border-radius: 10px; height: 20px; padding: 0px; width: 28px; position: relative; outline: 0px; cursor: pointer;" tabindex="0"><span class="wiMplc ofC0Ud" data-processed="true" style="color: rgb(0, 29, 53); display: inline-block; transform: rotate(135deg);"><svg fill="currentColor" focusable="false" height="12px" style="margin-top: 3px;" viewbox="0 0 24 24" width="12px" xmlns="http://www.w3.org/2000/svg"><path d="M3.9 12c0-1.71 1.39-3.1 3.1-3.1h4V7H7c-2.76 0-5 2.24-5 5s2.24 5 5 5h4v-1.9H7c-1.71 0-3.1-1.39-3.1-3.1zM8 13h8v-2H8v2zm9-6h-4v1.9h4c1.71 0 3.1 1.39 3.1 3.1s-1.39 3.1-3.1 3.1h-4V17h4c2.76 0 5-2.24 5-5s-2.24-5-5-5z"></path></svg></span></button></span></span>

<div class="Fsg96" data-processed="true" data-sfc-cp="" id="bkmrk--3" jsaction="rcuQ6b:&gobUCe_2o|npT2md" jscontroller="KHhJQ" jsuid="gobUCe_2o" style="color: rgb(10, 10, 10); font-family: 'Google Sans', Roboto, Arial, sans-serif; font-size: 16px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: start; text-indent: 0px; text-transform: none; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; white-space: normal; background-color: rgb(255, 255, 255); text-decoration-thickness: initial; text-decoration-style: initial; text-decoration-color: initial;">  
</div><div aria-level="3" class="otQkpb" data-animation-nesting="" data-processed="true" data-sfc-cp="" id="bkmrk-formalization-%28psr-1" jscontroller="a7qCn" jsuid="gobUCe_2p" role="heading" style="color: rgb(0, 29, 53); font-family: 'Google Sans', Roboto, Arial, sans-serif; font-size: 20px; line-height: 28px; margin: 20px 0px 10px; font-weight: 600; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; letter-spacing: normal; orphans: 2; text-align: start; text-indent: 0px; text-transform: none; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; white-space: normal; background-color: rgb(255, 255, 255); text-decoration-thickness: initial; text-decoration-style: initial; text-decoration-color: initial;">Formalization (PSR-14 &amp; Beyond)<span class="txxDge notranslate" data-processed="true" data-wiz-uids="gobUCe_2q,gobUCe_2r,gobUCe_2s" style="visibility: hidden;"><span class="vKEkVd" data-animation-atomic="" data-processed="true" style="white-space: nowrap; position: relative;"><button aria-label="View related links" class="rBl3me" data-amic="true" data-icl-uuid="b908fbc5-8225-46d3-b8eb-78b11ff96d55" data-processed="true" data-ved="2ahUKEwiFpv_a5bSRAxUma2wGHbn5IjAQye0OegQICBAA" data-wiz-attrbind="disabled=gobUCe_2q/C5gNJc;class=gobUCe_2q/UpSNec;" style="margin: 0px 6px 0px 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgb(229, 237, 255); border: none; border-radius: 10px; height: 20px; padding: 0px; width: 28px; position: relative; outline: 0px; cursor: pointer;" tabindex="0"><span class="wiMplc ofC0Ud" data-processed="true" style="color: rgb(0, 29, 53); display: inline-block; transform: rotate(135deg);"><svg fill="currentColor" focusable="false" height="12px" style="margin-top: 3px;" viewbox="0 0 24 24" width="12px" xmlns="http://www.w3.org/2000/svg"><path d="M3.9 12c0-1.71 1.39-3.1 3.1-3.1h4V7H7c-2.76 0-5 2.24-5 5s2.24 5 5 5h4v-1.9H7c-1.71 0-3.1-1.39-3.1-3.1zM8 13h8v-2H8v2zm9-6h-4v1.9h4c1.71 0 3.1 1.39 3.1 3.1s-1.39 3.1-3.1 3.1h-4V17h4c2.76 0 5-2.24 5-5s-2.24-5-5-5z"></path></svg></span></button></span></span></div><div class="Y3BBE" data-hveid="CAkQAA" data-processed="true" data-sfc-cp="" id="bkmrk-while-phpdoc-started" jsaction="rcuQ6b:&gobUCe_2t|npT2md" jscontroller="zcfIf" jsuid="gobUCe_2t" style="font-family: 'Google Sans', Roboto, Arial, sans-serif; font-size: 16px; line-height: 24px; overflow-wrap: break-word; margin: 10px 0px 20px; color: rgb(10, 10, 10); font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: start; text-indent: 0px; text-transform: none; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; white-space: normal; background-color: rgb(255, 255, 255); text-decoration-thickness: initial; text-decoration-style: initial; text-decoration-color: initial;">While PHPDoc started informally, the <span data-processed="true">[PHP Framework Interoperability Group (PHP-FIG)](https://en.wikipedia.org/wiki/PHPDoc)</span> has worked on formalizing its components into PSRs (like the initial work started in 2013) to create a unified, official standard for PHP documentation, ensuring consistency across tools and projects.<span class="uJ19be notranslate" data-processed="true" data-wiz-uids="gobUCe_2v,gobUCe_2w,gobUCe_2x"><span class="vKEkVd" data-animation-atomic="" data-processed="true" style="white-space: nowrap; position: relative;"></span></span></div>