Welcome
=======

Welcome to the complete documentation for phpDocumentor.

With these tutorials, guides and references we try to provide you with all the information that you need to optimally
document your code and leverage phpDocumentor to generate an extensive set of documentation for your application.

The documentation is divided into 5 sections,

1. :doc:`getting-started/index`, which is a series of concise tutorials that will help you get running within minutes.
2. :doc:`guides/index`, these chapters provide in-depth information in the usage and all features of phpDocumentor.
3. :doc:`references/index`, here you can find the nitty-gritty lists of commonly used components, options and
   configuration.
4. :doc:`internals/index`, care to contribute to phpDocumentor or interested in its architecture? Then this section
   is for you.
5. :doc:`cookbook/index`, ever wondered how to accomplish a specific feat? This section provides answers to such
   questions.

Documenting source code comes with quite a bit of lingo and specific terms; because it can be hard to remember them all
there is also a :doc:`glossary` that aims to explains all concepts. Throughout this documentation we continuously refer
to it, to help you comprehend everything that phpDocumentor has to offer.

What is phpDocumentor
---------------------

phpDocumentor is the de-facto API Documentation Generator for PHP since the year 2000.

phpDocumentor 2 is a tool with which it is possible to generate documentation from your PHP source code. With this
documentation you can provide your consumers with more information regarding the functionality embedded within your
source and not only what is usable to them from your user interface.

Documentation generated by phpDocumentor 2 does not aim to be a replacement for conventional documentation but is
rather supplemental, or reference, documentation.

This documention can prove to be very useful in the following, example, situations:

* Sets of libraries or applications providing an API, such as frameworks as Zend Framework or Symfony.
* Pluggable architectures, such as WordPress or PyroCMS.
* Long-running, complex projects, to help you find the right function or method for the job.

Goals
-----

The phpDocumentor project has the following goal:

    *"Provide PHP Developers with all the tools and resources necessary to write
    effective and comprehensive documentation with as little effort possible."*

It tries to achieve this goal by:

* Maintaining the `PHPDoc Standard`_ for describing source code meta-information using DocBlocks
* Providing the application `phpDocumentor`_ to

  * Generate API Documentation
  * Create reports on errors in your DocBlocks, deprecated elements and TODOs
  * Generate graphs to help understand how your project is coupled

* Providing the application `Scrybe`_ to

  * Generate Reference Documentation
  * Generate User manuals

* Providing a comprehensive documentation regarding the PHPDoc Standard, how to effectively write your source
  documentation and how each of the applications work.
* Providing templates_ to change the look and feel of both phpDocumentor and Scrybe.
* Enabling PHP Developers to extend the functionality and/or integrate these tools into your own application using
  plugins.

.. _`PHPDoc Standard`: https://github.com/phpDocumentor/phpDocumentor2/blob/develop/docs/PSR.md
.. _phpDocumentor:     https://github.com/phpDocumentor/phpDocumentor2
.. _Scrybe:            https://github.com/phpDocumentor/Scrybe
.. _templates:         http://www.phpdoc.org/templates
