PHPackages                             aeondigital/phpdoc-to-rst - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Utility &amp; Helpers](/categories/utility)
4. /
5. aeondigital/phpdoc-to-rst

ActiveLibrary[Utility &amp; Helpers](/categories/utility)

aeondigital/phpdoc-to-rst
=========================

Generate Sphinx/ReStructured documentation from PHPDoc

1.0(6y ago)0163AGPL-3.0-or-laterPHP

Since Jul 11Pushed 4y agoCompare

[ Source](https://github.com/AeonDigital/phpdoc-to-rst)[ Packagist](https://packagist.org/packages/aeondigital/phpdoc-to-rst)[ RSS](/packages/aeondigital-phpdoc-to-rst/feed)WikiDiscussions master Synced today

READMEChangelogDependencies (5)Versions (5)Used By (0)

PHP-phpdoc-to-rst
=================

[](#php-phpdoc-to-rst)

> Forked from Francesco "Abbadon1334" Danti by AeonDigital.
> In this fork the changes has only visual and superficial effects \[ just because I'm boring :) \].
> Prefer to use the "Abbadon1334" version if you prefer a constantly updated project.

Efetua a extração da documentação técnica usando PHPDoc.

---

Gerador de reStructuredText para Sphinx
---------------------------------------

[](#gerador-de-restructuredtext-para-sphinx)

Este projeto é pesadamente baseado em [phpDocumentor/Reflection](https://github.com/phpDocumentor/Reflection)e faz uso do [PHP Domain for Sphinx](https://github.com/markstory/sphinxcontrib-phpdomain).

**Dependências**

- Python
- Sphynx
- Sphinx RTD Theme
- PHP Domain for Sphinx
- Recommonmark

Segue abaixo um rápido tutorial sobre como instalar todas as dependências para o correto funcionamento.

---

Instalação do Python
--------------------

[](#instalação-do-python)

Vá na [página oficial](https://www.python.org) e faça o download do executável mais recente e estável:

### Execute o instalador.

[](#execute-o-instalador)

> Este tutorial foi feito para a versão 3.7.3 (windows).

1. Na primeira tela selecione a opção de adicionar o Python ao PATH do Windows.
2. Selecione a instalação customizada.

    > Você pode remover a documentação.
    > Mantenha o *pip*.
    > Você pode remover a biblioteca Tkinter[1](#user-content-fn-1-a2151baa3185aa4315c5df0fa10af427).
    > Mantenha o *Python Test Suite*.
    > Pode remover também o *py launcher*[2](#user-content-fn-2-a2151baa3185aa4315c5df0fa10af427).
3. Na próxima tela configure conforme sua preferencia e instale.
4. Após a instalação o programa oferece para desabilitar a limitação de 260 caracteres para a execução de comandos no Windows. Clique para desabilitar esta limitação e evitar problemas na execução.

---

Instalador do Sphinx
--------------------

[](#instalador-do-sphinx)

Abra um prompt de comando agora que o Python está instalado com o "pip".
Faça a instalação do "Sphinx" usando o seguinte comando:

```
> pip install -U sphinx
```

Confirme a instalação do mesmo com o comando:

```
> sphinx-build --version
```

### Instalação do RTD Theme

[](#instalação-do-rtd-theme)

Saiba mais sobre o [RTD Theme](https://pypi.org/project/sphinx-rtd-theme/).

```
> pip install -U sphinx_rtd_theme
```

### PHP Domain for Sphinx

[](#php-domain-for-sphinx)

Saiba mais [PHP Domain for Sphinx.](https://github.com/markstory/sphinxcontrib-phpdomain)

```
> pip install -U sphinxcontrib-phpdomain
```

### Instalação do analisador MarkDown

[](#instalação-do-analisador-markdown)

Saiba Mais sobre o uso de [MarkDown com o Sphynx](http://www.sphinx-doc.org/en/master/usage/markdown.html).

```
> pip install -U recommonmark
```

---

Usando o Sphynx
---------------

[](#usando-o-sphynx)

É aconselhado criar um diretório para a documentação do seu projeto. O padrão é o diretório `[./docs]` na raiz do mesmo.

O diretório especial `[./docs/_static]` possui arquivos que deverão ser mesclados com os resultantes da extração e que ficam em `[./docs/rest]`. Nele, há imagens, folhas de estilo e o arquivo de configuração `[conf.py]` que deve ser editado para estar de acordo com cada projeto usado.

### Documento "\[conf.py\]"

[](#documento-confpy)

Inicialmente você deve criar seu próprio arquivo `conf.py` para servir aos propósitos de conversão da documentação entre reST e algum outro formato.
Se você não sabe como criar este arquivo nem quais suas diretivas, aconselhamos usar como base o `template-conf.py` como modelo para iniciar suas próprias versões.

Para informações completas de como este arquivo funciona e quais suas principais configurações você pode conferir em

Você também pode usar o comando `config` (ver abaixo) para criar uma versão básica do `conf.py` tendo alterado apenas os rótulos informativos.

---

Usando o comando "phpdoc-to-rst generate"
-----------------------------------------

[](#usando-o-comando-phpdoc-to-rst-generate)

**Convertendo PHPDocs para RST**
Nesta etapa o analizador provido por este próprio projeto irá se encarregar de ler todas as anotações PHPDocs contida nos arquivos que compõe o projeto alvo e então extraí-los para o formato reST.

A partir do diretório raíz do projeto:
Instale a biblioteca "phpdoc-to-rst" usando o comando:

```
> composer require --dev aeondigital/phpdoc-to-rst
```

Extraia o conteúdo usando o comando:

```
> ./vendor/bin/phpdoc-to-rst generate
```

- `output_directory`: Nome do diretório onde os documentos extraidos serão adicionados.
- `source_directory`: Nome do diretório onde estão os arquivos fonte para criação da documentação \[normalmente será *src*\].

**Exemplo**

```
> ./vendor/bin/phpdoc-to-rst generate docs/rest src
```

### Usando o comando "phpdoc-to-rst generate-ns"

[](#usando-o-comando-phpdoc-to-rst-generate-ns)

**Extraindo apenas uma namespace**
Se você deseja exportar apenas uma dada Namespace do seu projeto use o seguinte comando:

```
> ./vendor/bin/phpdoc-to-rst generate-ns
```

- `namespace`: Nome da namespace que você deseja exportar.
- `output_directory`: Nome do diretório onde os documentos extraidos serão adicionados.
- `source_directory`: Nome do diretório onde estão os arquivos fonte para criação da documentação \[normalmente será *src*\].

**Exemplo**

```
> ./vendor/bin/phpdoc-to-rst generate-ns JuliusHaertl/PHPDocToRst docs/rest src
```

### Usando o comando "phpdoc-to-rst config"

[](#usando-o-comando-phpdoc-to-rst-config)

**Preparando o arquivo "conf.py"**
Se você ainda não tem um arquivo `conf.py` preparado e alocado no diretório `[./src/_static]` e nem sabe por onde começar, esta é a melhor forma de conseguir uma versão válida do mesmo que servirá para uso do comando **sphinx-build** (ver abaixo).

Inicie a configuração usando o comando:

```
> ./vendor/bin/phpdoc-to-rst config
```

Após, siga a orientação de cada item a ser configurado.
Itens que você deixar em branco serão definidos como uma string vazia "".

---

Usando o Sphinx com o comando "sphinx-build"
--------------------------------------------

[](#usando-o-sphinx-com-o-comando-sphinx-build)

**Gerando uma saída em um formato específico**
Uma vez que você possui os arquivos reST contendo todo o conteúdo relativo as anotações PHPDocs do seu projeto, é hora de usar o Sphynx para converter esta massa de dados em outro formato como HTML ou Ebook.

A partir do diretório raíz do projeto:

```
> sphinx-build -b
```

- `output_type`: Formato de saida da documentação \[html, epub\]
- `source_directory`: Nome do diretório onde estão os arquivos fonte para criação da documentação.
- `output_directory`: Nome do diretório onde os documentos extraidos serão adicionados.

**Exemplo**

```
> sphinx-build -b html docs/rest docs/html
> sphinx-build -b epub docs/rest docs/epub
```

---

Importante
----------

[](#importante)

Como este projeto é um fork da versão que está sendo desenvolvida por [**Abbadon1334**](https://github.com/abbadon1334/phpdoc-to-rst) **apenas** com o propósito de ser voltada para detalhes visuais específicos é importante atentar para o fato que possivelmente esta peça de software vá estar com um atrazo quanto a implementação de correções ou novas features.

Footnotes
---------

1. biblioteca para criação de ambiente gráfico; Não obrigatório para o uso do Sphinx. [↩](#user-content-fnref-1-a2151baa3185aa4315c5df0fa10af427)
2. serve para registrar "py" como evocador do python... como estamos definindo para adicionar o Python no PATH então isto não é necessário. [↩](#user-content-fnref-2-a2151baa3185aa4315c5df0fa10af427)

###  Health Score

29

—

LowBetter than 63% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity12

Limited adoption so far

Community12

Small or concentrated contributor base

Maturity61

Established project with proven stability

 Bus Factor2

2 contributors hold 50%+ of commits

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Unknown

Total

1

Last Release

2444d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/7e72819d0490bf5e46d9f27bbb92ef4f70332923500f6a7b9f56513fa12b699d?d=identicon)[AeonDigital](/maintainers/AeonDigital)

---

Top Contributors

[![juliusknorr](https://avatars.githubusercontent.com/u/3404133?v=4)](https://github.com/juliusknorr "juliusknorr (64 commits)")[![abbadon1334](https://avatars.githubusercontent.com/u/5801824?v=4)](https://github.com/abbadon1334 "abbadon1334 (43 commits)")[![AeonDigital](https://avatars.githubusercontent.com/u/5123165?v=4)](https://github.com/AeonDigital "AeonDigital (28 commits)")[![stuba](https://avatars.githubusercontent.com/u/818066?v=4)](https://github.com/stuba "stuba (3 commits)")[![qury](https://avatars.githubusercontent.com/u/1764676?v=4)](https://github.com/qury "qury (2 commits)")[![dependabot-support](https://avatars.githubusercontent.com/u/112581971?v=4)](https://github.com/dependabot-support "dependabot-support (1 commits)")

###  Code Quality

TestsPHPUnit

### Embed Badge

![Health badge](/badges/aeondigital-phpdoc-to-rst/health.svg)

```
[![Health](https://phpackages.com/badges/aeondigital-phpdoc-to-rst/health.svg)](https://phpackages.com/packages/aeondigital-phpdoc-to-rst)
```

###  Alternatives

[helhum/typo3-config-handling

Simple but powerful configuration handling for TYPO3 CMS

38304.9k4](/packages/helhum-typo3-config-handling)[lexik/cron-file-generator-bundle

This bundle provides service for generate cron file

235.8k](/packages/lexik-cron-file-generator-bundle)[aedart/athenaeum

Athenaeum is a mono repository; a collection of various PHP packages

245.2k](/packages/aedart-athenaeum)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
