symplify / better-phpdoc-parser
v5.4.16
2019-03-05 23:15 UTC
Requires
- php: ^7.1
- nette/utils: ^2.5
- phpstan/phpdoc-parser: ^0.3.1
- symplify/package-builder: ^5.4.16
Requires (Dev)
- phpunit/phpunit: ^7.5|^8.0
- dev-master / 5.5.x-dev
- v5.4.16
- v5.4.15
- v5.4.14
- v5.4.13
- v5.4.12
- v5.4.11
- v5.4.10
- v5.4.9
- v5.4.8
- v5.4.7
- v5.4.6
- v5.4.5
- v5.4.4
- v5.4.3
- v5.4.2
- v5.4.1
- v5.4.0
- v5.3.12
- v5.3.11
- v5.3.10
- v5.3.9
- v5.3.8
- v5.3.7
- v5.3.6
- v5.3.5
- v5.3.4
- v5.3.2
- v5.3.1
- v5.3.0
- v5.2.22
- v5.2.20
- v5.2.19
- v5.2.18
- v5.2.17
- v5.2.16
- v5.2.15
- v5.2.14
- v5.2.13
- v5.2.12
- v5.2.11
- v5.2.10
- v5.2.9
- v5.2.8
- v5.2.7
- v5.2.6
- v5.2.5
- v5.2.4
- v5.2.3
- v5.2.2
- v5.2.1
- v5.2.0
- v5.1.4
- v5.1.3
- v5.1.2
- v5.1.1
- v5.1.0
- v5.0.2
- v5.0.1
- v5.0.0
- v4.8.0
- v4.7.0
- v4.6.1
- v4.6.0
- v4.5.1
- v4.5.0
- v4.4.2
- v4.4.1
- v4.4.0
- v4.3.0
- v4.2.3
- v4.2.2
- v4.2.1
- v4.2.0
- v4.1.2
- v4.1.1
- v4.1.0
This package is auto-updated.
Last update: 2019-10-12 17:29:03 UTC
README
Better PhpDoc Parser
围绕phpstan/phpdoc-parser的包装,增加了格式保留打印机。
何时需要格式保留打印机?
原始代码
/** * @param string $name * @param string $surname * @return bool */
由PHPStan PhpDocParser打印 ❌
/** * @param string $name * @param string $surname * @return bool */
由Better PhpDocParser打印 👍
/** * @param string $name * @param string $surname * @return bool */
Symplify\CodingStandard 和 Rector 需要修改注释并重新以正确格式放置。其他包通常会放置自己的间距,或特定标签的格式。
此包保留原始间距.
感谢在 格式保留打印机 功能中对 nikic/php-parser
的启发。
安装
composer require symplify/better-phpdoc-parser
使用
在您的Symfony配置中注册服务
# services.yaml imports: - { resource: 'vendor/symplify/better-phpdoc-parser/config/config.yml' }
或从您的其他框架的配置中注册services.yaml
中所需的服务。
<?php use Symplify\BetterPhpDocParser\PhpDocInfo\PhpDocInfoFactory; use Symplify\BetterPhpDocParser\Printer\PhpDocInfoPrinter; class SomeClass { public function __construct(PhpDocInfoFactory $phpDocInfoFactory, PhpDocInfoPrinter $phpDocInfoPrinter) { $this->phpDocInfoFactory = $phpDocInfoFactory; $this->phpDocInfoPrinter = $phpDocInfoPrinter; } public function changeDocBlockAndPrintItBack(): string { $docComment = '/** @var Type $variable */'; $phpDocInfo = $this->phpDocInfoFactory->createFrom($docComment); // modify `$phpDocInfo` using its methods return $this->phpDocInfoPrinter->printFormatPreserving($phpDocInfo); } }