views:

536

answers:

5

I know there are many different standards for PHP code inline documentation. Here's what I mean by inline documentation, and please correct me if there is a better term:

/**
* This is the description for the class below.
*
* @package    my-package
* @subpackage my-subpackage
* @author     my-name
* @version    my-version
* ...
*/
class orderActions {
...

What is the best and most widely-accepted form of inline documentation? Are there any tools to auto-generate such documentation, or does it have to be done by hand?

I'm not interested in generating manuals -- I want to know how to generate the type of code commenting above, or "inline documentation."

A: 

Although I haven't fully utilized it, Doxygen looks promising for this task.

If you are familiar with the JavaDoc tool for Java, it's quite similar to that. You use the Doxygen style and then run the tool over your source files to produce documentation.

Thomas Owens
+12  A: 

PHPDoc, like what you've posted, is a widely accepted form of PHP documentation.

You can use Doxygen to auto-generate the docs.

Edit: In terms of generating in-line documentation in your code, I have never come across a tool that will go back and do this externally for a project. It's generally left in the realm of the IDE to generate a template while you code.

Eclipse actually does a decent job of this (it's one of the few things I like about Eclipse) and I believe Netbeans does as well. Any major IDE will likely have functionality to assist with this type of template generation.

zombat
PHPDocumentor is probably the most common and the recommended way to add API documentation.
Jani Hartikainen
Is it possible to generate inline documentation with PHPDoc though? I thought that was only for generating documentation manuals.
James Skidmore
+1 Works really well and integrates with netbeans.
Mark Davidson
I wanted to make a distinction: PHPDoc is a syntax for comments (adapted from JavaDoc) http://en.wikipedia.org/wiki/PHPDoc. PHPDocumentor is *one* of the tools that can read these comments and produce usable documentation pages/XML. There is also Doxygen, and probably others.
grantwparks
@grantwparks - That's a good clarification to make, thanks. My link went to PHPDocumentor as I use that as a reference for PHPDoc syntax, but I generally use Doxygen for generation. I'll adjust the link to go to the syntax reference instead.
zombat
A: 

Documentation? What's that?

I just try to write clear code.

Kawa
Humor is so rarely appreciated in "serious" questions on Stack Overflow. +1 to help offset all the Debbie Downers.
zombat
Might help if it actually was funny ;)
Jani Hartikainen
A: 

Usually, you would write the docblock comments your self, although I suppose some IDE's can create a template for you.

I did actually write a program, which can trace a running program and detect parameter types and write them back as docblock comments. It's a bit buggy, but it kind of works.

troelskn
A: 

Not sure what you code in but I have several snippets (I use Textmate) that I just add in as I'm working) I've found this ends up with the best results since I'm filling in the details instead of trusting a system to do it for me.

It's more work in the beginning but it seems to be worth it in the long run

Jason