PHP 库的源代码文档生成器

v0.5.0 2023-01-21 23:37 UTC

This package is auto-updated.

Last update: 2024-09-22 03:14:23 UTC


README

Build Status Test Coverage Maintainability Packagist

Dog 是一个精简的 PHP 库的源代码文档生成器。它围绕 phpdocumentor/reflectiontwig 展开功能。

正在进行中:所有 0.* 预发布版都可能会出现破坏性更改。

功能

  • 轻松生成源代码文档
  • 分析代码和 phpdoc
  • 帮助通过自定义规则(基于 建议的 PSR-19)优化代码和 phpdoc 以便文档化
  • 输出 markdown(例如,用于与 mkdocs-material 一起使用)
  • 分析 PHP ^5.2 的源代码
  • 提供支持自定义打印逻辑和简单模板(计划中)
  • 提供支持自定义增强逻辑以添加相关和关联数据

运行时要求

  • PHP ^8.0

建议

  • json 扩展以丰富 phploc 数据
  • simplexml 扩展以丰富 clover 覆盖率数据

快速入门

添加到您的项目中

composer require --dev klitsche/dog

在项目根目录中创建配置文件 .dog.yml 并编辑它。

示例

# Title of index page
title: 'Overview'
# Relative or absolute paths to source files - plus patterns to include or exclude path pr files
srcPaths:
  'src':
    '/.*\.php$/': true
# Add new or change validation rules - omit completely to use default set
rules:
  PublicFileDocBlockMissingRule:
    class: 'Klitsche\Dog\Analyzer\Rules\DocBlockMissingRule'
    issueLevel: 'ignore'
    match:
      getElementType: 'File'
# Configure enrichers to add extra data to project or element items
enrichers:
  clover:
    class: \Klitsche\Dog\Enrichers\Clover\CloverEnricher
    file: clover.xml
# FQCN for template printer class
printerClass: 'Klitsche\Dog\Printer\Markdown\Printer'
# Relative or absolute path to output directory
outputDir: 'docs/api'
# Enable or disable debug mode - helps when tweaking templates
debug: false

首先分析代码和 phpdoc,然后生成文档

vendor/bin/dog

分析代码和 phpdoc,以发现潜在的文档问题,而不生成文档

vendor/bin/dog --analyze

在不先分析的情况下生成文档

vendor/bin/dog --generate

文档

https://klitsche.github.io/dog/

待办事项

  • 添加代码风格检查
  • 添加 GitHub 操作
  • 为 dog bin 添加 cmd 接口
  • 添加验证规则
  • 添加文档(mkdocs,github 页面)
  • 添加测试
  • 添加对打印机配置的支持 - 例如,templatePath
  • 添加 phar 打包
  • 改进描述打印 - (inheritDoc,行内标签,...)
  • 建议的 PSR-19 标签 添加直接元素接口
  • 添加 phive 打包