doc:howto:faq
no way to compare when less than two revisions
Differences
This shows you the differences between two versions of the page.
Previous revisionNext revision | |||
— | doc:howto:faq [2013/01/24 03:34] – added brief auto-props info philip | ||
---|---|---|---|
Line 1: | Line 1: | ||
+ | ===== Questions related to writing documentation ===== | ||
+ | //If a < | ||
+ | * Add the **role=" | ||
+ | * Example: %%< | ||
+ | |||
+ | //How do I add a link to a method?// | ||
+ | * Use %%< | ||
+ | * Note that the case does not matter when adding a link. | ||
+ | |||
+ | //How do I add an external link to the documentation?// | ||
+ | * All external links are added to doc-base/ | ||
+ | * Add the link there (to global.ent) | ||
+ | * The global.ent markup might look like: %%< | ||
+ | * Add the link to the documentation (foo.xml) | ||
+ | * The markup might look like: %%<link xlink: | ||
+ | * Be sure the file understands the namespace with %%xmlns: | ||
+ | |||
+ | //I made a change to a file but want to revert this change, how?// | ||
+ | * To merge a file to the previous state: svn merge -rHEAD:PREV filename.xml | ||
+ | * Then, to commit it: svn commit filename.xml -m " | ||
+ | |||
+ | //I'm about to document a new PHP extension... how should I start?// | ||
+ | * Use the script found within phpdoc/ | ||
+ | * Example: $ php docgen.php -h | ||
+ | * Example: $ php docgen.php -e simplexml -o outdir | ||
+ | * It creates the skeletons that you edit then commit | ||
+ | |||
+ | //I created skeletons that contain a bunch of default text, should I commit it?// | ||
+ | * No, edit the files before commit. | ||
+ | * Reason 1: Translators | ||
+ | * Reason 2: Temporary often becomes permanent, and bogus text is not good | ||
+ | |||
+ | //I documented an extension but it's not building. Why?// | ||
+ | * Likely because it has not yet been added to doc-base/ | ||
+ | * So, add the book to the appropriate reference location there. Open file for examples. | ||
+ | * Or, configure.php is failing... the error should help | ||
+ | |||
+ | //I want to contribute to the PHP Manual, how?// | ||
+ | * First, read the [[doc: | ||
+ | * Check out the sources: $ svn checkout http:// | ||
+ | * For a translation, | ||
+ | * ... | ||
+ | |||
+ | //How do I build and/or test the manual locally?// | ||
+ | * Use phpdoc/ | ||
+ | * To validate en: **$ php configure.php** | ||
+ | * To validate fr: **$ php configure.php %%--with-lang=fr%%** (Change fr to your given language code) | ||
+ | * To build: **$ phd -d .manual.xml** | ||
+ | * Note: Building is not required, all you must do is check the diff and be sure it validates | ||
+ | |||
+ | //Running configure.php ends up Segfaulting, | ||
+ | * There are bugs with certain versions of libxml that cause this, so hacks exist to get around it | ||
+ | * To execute the hack, pass in: **$ php configure.php %%--disable-segfault-error%%** | ||
+ | * Note: This disables some error checking and beautification but raw errors will be shown | ||
+ | * Note: Usually the problem is a major XML syntax issue | ||
+ | |||
+ | //In the changelog, which order do the PHP versions go?// | ||
+ | * Newest PHP versions go above the older ones | ||
+ | |||
+ | //In the changelog, a change happened in two PHP versions. How do I enter this?// | ||
+ | * Multiple versions are separated by a comma, with the lesser version first. Example: %%< | ||
+ | |||
+ | //How do I add markup for a configure option?// | ||
+ | * Example: %%< | ||
+ | |||
+ | //When adding a < | ||
+ | * Typically titles are useful for notes, but it's not required. | ||
+ | * Syntax: %%< | ||
+ | |||
+ | //A feature became available in PHP X.Y.Z, how do I document that?// | ||
+ | * Version information for functions is stored inside **versions.xml** within each extension: phpdoc/ | ||
+ | * Changes to functions, like added parameters, are documented within changelogs for each page | ||
+ | * Example Text: Feature X has been available since PHP X.Y.Z | ||
+ | * TODO: Research other ways, and the best way, to write this text (including dealing with code examples) | ||
+ | |||
+ | //Why does everyone care so much about whitespace?// | ||
+ | * See the following article: [[doc: | ||
+ | * XML is one space, PHP example code is four, and max width is ~78 characters | ||
+ | * Exceptions: < | ||
+ | |||
+ | //A parameter is optional, how is it documented?// | ||
+ | * Like normal, except methodparam receives the choice=" | ||
+ | * Example: %%< | ||
+ | |||
+ | //Do I need to edit these entities* files?// | ||
+ | * No, these are auto-generated by the configure process | ||
+ | * Examples: entities/ | ||
+ | * Also, do not commit them | ||
+ | |||
+ | // How do I create a patch? // | ||
+ | * In the command-line, | ||
+ | * cd / | ||
+ | * To diff the entire repository: **svn diff** | ||
+ | * To diff a single file: **svn diff foo.xml** | ||
+ | * Consider piping the diff to a file, so: **svn diff foo.xml > mypatch.txt** | ||
+ | |||
+ | // How do I apply a patch? // | ||
+ | * Assuming the file with the patch is named apatch.txt | ||
+ | * Go to the directory with the files to be patched | ||
+ | * And run this command: **patch -p0 < apatch.txt** | ||
+ | |||
+ | // Is there an online editor? // | ||
+ | * Yes and No. | ||
+ | * Yes one exists in SVN and is being worked on. | ||
+ | * No it's not yet in use. | ||
+ | * Demo: https:// | ||
+ | |||
+ | // How often is the documentation built? // | ||
+ | * Weekly on mirrors, several times daily on the doc server | ||
+ | * For specifics, see the [[doc: | ||
+ | |||
+ | // I see example.outputs and example.outputs.similar entities, what's the difference? // | ||
+ | * The example.outputs.similar entity is used when the output may differ between executions or machines | ||
+ | * The example.outputs entity output will always, under all conditions, be the same | ||
+ | |||
+ | // I need to add a piece of text to three or more pages, how? // | ||
+ | * Add the snippet to en/ | ||
+ | * Link to the entity within the desired pages | ||
+ | * This is done so translators can update one version of this text | ||
+ | |||
+ | // How do I find missing documentation? | ||
+ | |||
+ | Missing functions (no associated XML files) can be found like so (assuming a doc checkout, and PhD is installed): | ||
+ | <code shell> | ||
+ | php doc-base/ | ||
+ | phd --docbook doc-base/ | ||
+ | php doc-base/ | ||
+ | </ | ||
+ | Undocumented documentation (skeletons exist, but only prototypes and basic information) can be found here: http:// | ||
+ | |||
+ | // What .subversion/ | ||
+ | < | ||
+ | *.xml = svn: | ||
+ | </ |
doc/howto/faq.txt · Last modified: 2017/09/22 13:28 by 127.0.0.1