PHPackages                             symplify/better-phpdoc-parser - 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. symplify/better-phpdoc-parser

Abandoned → [rector/rector](/?search=rector%2Frector)Library[Utility &amp; Helpers](/categories/utility)

symplify/better-phpdoc-parser
=============================

Slim wrapper around phpstan/phpdoc-parser with format preserving printer

v5.4.16(7y ago)43967.5k↑90.7%2MITPHPPHP ^7.1

Since Apr 24Pushed 7y ago1 watchersCompare

[ Source](https://github.com/deprecated-packages/BetterPhpDocParser)[ Packagist](https://packagist.org/packages/symplify/better-phpdoc-parser)[ RSS](/packages/symplify-better-phpdoc-parser/feed)WikiDiscussions master Synced yesterday

READMEChangelogDependencies (4)Versions (77)Used By (2)

[Deprecated, moved to Rector](https://github.com/rectorphp/rector)
==================================================================

[](#deprecated-moved-to-rector)

Better PhpDoc Parser
====================

[](#better-phpdoc-parser)

[![Build Status](https://camo.githubusercontent.com/270d0a9ca72e1648222017b6e6439e55d963ea61156a663df96a0fed54044b7f/68747470733a2f2f696d672e736869656c64732e696f2f7472617669732f53796d706c6966792f426574746572506870446f635061727365722f6d61737465722e7376673f7374796c653d666c61742d737175617265)](https://travis-ci.org/Symplify/BetterPhpDocParser)[![Downloads](https://camo.githubusercontent.com/5301d663827169f2487ae4b15e5305d827301b78667c7b1bb0a423480963d37f/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f64742f73796d706c6966792f6265747465722d706870646f632d7061727365722e7376673f7374796c653d666c61742d737175617265)](https://packagist.org/packages/symplify/better-phpdoc-parser/stats)

Wrapper around [phpstan/phpdoc-parser](https://github.com/phpstan/phpdoc-parser) that adds **format preserving printer**.

When do We Need Format Preserving Printer?
------------------------------------------

[](#when-do-we-need-format-preserving-printer)

**Original code**

```
/**
 * @param   string   $name
 * @param   string   $surname
 * @return  bool
  */
```

**Printed by PHPStan PhpDocParser** ❌

```
/**
 * @param string $name
 * @param string $surname
 * @return bool
 */
```

**Printed by Better PhpDocParser** 👍

```
/**
 * @param   string   $name
 * @param   string   $surname
 * @return  bool
 */
```

[Symplify\\CodingStandard](https://github.com/symplify/codingstandard) and [Rector](https://github.com/rectorphp/rector) need to modify docblock and put it back in correct format. Other packages often put own spacing, or formats of specific tags.

**This package preserve original spacing**.

Thanks for [inspiration in *Format Preserving Printer* feature in `nikic/php-parser`](https://github.com/nikic/PHP-Parser/issues/487).

Install
-------

[](#install)

```
composer require symplify/better-phpdoc-parser
```

Usage
-----

[](#usage)

Register services in your Symfony config:

```
# services.yaml
imports:
    - { resource: 'vendor/symplify/better-phpdoc-parser/config/config.yml' }
```

or register the needed services from `services.yaml` in config of your other framework.

```
