Re: DocComments for internal functions

From: Date: Fri, 10 Apr 2026 10:54:03 +0000
Subject: Re: DocComments for internal functions
References: 1  Groups: php.internals 
Request: Send a blank email to internals+get-130600@lists.php.net to get a copy of this message
On Thursday, 9 April 2026 at 14:33, Christian Schneider <cschneid@cschneid.com> wrote: > As a follow-up to the now-merged DocComments for function parameters I would like to propose > annotating internal functions with DocComments automatically generated from the documentation. > > This would benefit e.g. LSPs and static analysers written in PHP to use reflection to show (a > minimal) documentation for internal (e.g. strlen), basic (e.g. str_replace) and bundled extension > functions (e.g. grapheme_strlen). > > To this end I > 1) extended zend_internal_arg_info and zend_internal_function_info > 2) added macros like ZEND_ARG_INFO_DOCCOMMENT to zend_API.h > 3) added a script build/add_doccomments.php to extract the documentation from a doc-en (or > other language) checkout > 4) extended build/gen_stub.php to generate the new ZEND_ARG_INFO_*_DOCCOMMENT macros for > @genstubs-expose-comment-block > > With this in place one can generate the internal doc comments with > ./build/add_doccomments.php > ./build/gen_stub.php --force > > The implementation can be examined at > > https://github.com/php/php-src/compare/master...chschneider:php-src:internal-functions-doccomments > > Questions: > - Is there interest in adding this feature? > - How should it be integrated into the build process? A simple version would be to run the two > scripts (with doc-en) before generating a release, a more complicated version could add a configure > option to also be able to chose a local documentation checkout (e.g. for a different language) > - Does this require an RFC or should this be discussed here and (in case there is interest) in > a PR I would create? > > Regards, > - Chris > I am not *fully* convinced that we should add DocComments for internal parameters/functions/classes/constants, as this feels like a lot of complexity. However, I've been working for the last 2ish years on some tooling [1] to improve the syncing of the manual from the stubs, and in the long run being able to semi-automatically create the migration guide. Considering that a large part of it is parsing the documentation and the stubs into a common representation to be able to do diffs on them, this might be useful if we somehow want to "augment" the stubs. Best regards, Gina P. Banyard [1] https://github.com/Girgias/stub-to-docbook

« previous php.internals (#130600) next »