Download the PHP package hschletz/doxygen-phpdoc without Composer

On this page you can find all versions of the php package hschletz/doxygen-phpdoc. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.

FAQ

After the download, you have to make one include require_once('vendor/autoload.php');. After that you have to import the classes with use statements.

Example:
If you use only one package a project is not needed. But if you use more then one package, without a project it is not possible to import the classes with use statements.

In general, it is recommended to use always a project to download your libraries. In an application normally there is more than one library needed.
Some PHP packages are not free to download and because of that hosted in private repositories. In this case some credentials are needed to access such packages. Please use the auth.json textarea to insert credentials, if a package is coming from a private repository. You can look here for more information.

  • Some hosting areas are not accessible by a terminal or SSH. Then it is not possible to use Composer.
  • To use Composer is sometimes complicated. Especially for beginners.
  • Composer needs much resources. Sometimes they are not available on a simple webspace.
  • If you are using private repositories you don't need to share your credentials. You can set up everything on our site and then you provide a simple download link to your team member.
  • Simplify your Composer build process. Use our own command line tool to download the vendor folder as binary. This makes your build process faster and you don't need to expose your credentials for private repositories.
Please rate this library. Is it a good library?

Informations about the package doxygen-phpdoc

PHPDoc support for Doxygen

This package provides PHPDoc support for Doxygen. It contains:

It works best with plain PHPDoc comments. The filter may get confused when Doxygen elements get mixed in.

Installation

The package can be installed standalone or as a composer dependency for a project.

Standalone package

Download the package and install is dependencies via composer:

cd doxygen-phpdoc
composer install

As a composer dependency

To include the package in another project, add it as a dependency:

cd MyProject
composer require --dev hschletz/doxygen-phpdoc

Usage

The package provides an input filter which must be activated in the project's Doxygen config file. Also activate the JAVADOC_AUTOBRIEF option:

FILTER_PATTERNS        = *.php=vendor/bin/doxygen-phpdoc-filter.php
JAVADOC_AUTOBRIEF      = YES

Adjust file extensions and script path as necessary. After setting project-specific options in the config file, Doxygen should be able to compile the documentation.

The output is already usable, but with some limitations. The postprocessor can fix some of the issues for the HTML output. Invoke it with the output directory:

vendor/bin/doxygen-phpdoc-fixhtml.php doc/api/html

The input filter

Doxygen invokes the input filter, passing the source file name, and processes its output instead of the original source. Any modifications by the input filter are temporary and the original source is not touched.

The filter treats every occurrence of a single backslash within a documentation block as a namespace separator and replaces it with ::, which is required for correct Doxygen operation. For this reason, only PHPDoc's "@"-Syntax will work for any tags. Multiple consecutive backslashes are left untouched, and Doxygen will interpret them as escaped backslashes.

Some PHPDoc tags, like @var, @property, @return or @link, have a different meaning or syntax in Doxygen. These commands are rewritten in a way that is correctly handled. In some cases, the behavior can only by emulated to some degree. For example, there is no full equivalent for @internal, which gets replaced by @private. The same goes for some commands which don't exist in Doxygen, like @property-read (put description in a @remark) or @license (replace with @copyright).

Inline tags, like {@inheritdoc}, are unknown to Doxygen. The curly braces are removed to prevent them from appearing in the output.

The file header gets properly marked as such. Otherwise it would be interpreted as documentation for the namespace, which is uncommon in PHPDoc.

Doxygen does not understand typed arrays, like string[] as datatypes for parameters and return values. These get replaced by array and the full typehint is added to the description.

The HTML postprocessor

The postprocessor applies some fixes to the HTML output. Namespace separators which are partially output as "::" get converted to a backslash where possible. Some occurrences may remain because not all of them can be reliably detected.

When linking to the PHP documentation for builtin classes with the help of a tagfile, Doxygen makes the links unusable by appending a .html suffix. These links get fixed.

Known issues

warning: Detected potential recursive class relation

This message occurs when a class inherits (directly or indirectly) from a class with the same name from a different namespace. This is a bug or limitation in Doxygen.

warning: Internal inconsistency: scope for class ... not found!

This message is caused by some external documentation from a tagfile for unknown reasons.

warning: Illegal command ... as part of a <dt> tag

This is a known Doxygen bug which occurs with methods marked deprecated having a namespaced class typehint for a parameter. The typehint will not show on the "Deprecated List" page. The documentation is otherwise correct.

WARNING: could not parse ...

This message is generated by the postprocessor on invalid XHTML files. The invalid markup can be caused by insufficient escaping or otherwise malformed docblocks. Check the source files for invalid syntax.


All versions of doxygen-phpdoc with dependencies

PHP Build Version
Package Version
Requires zendframework/zend-dom Version ^2.7
Composer command for our command line client (download client) This client runs in each environment. You don't need a specific PHP version etc. The first 20 API calls are free. Standard composer command

The package hschletz/doxygen-phpdoc contains the following files

Loading the files please wait ...