dunglas / phpdoc-to-typehint
Generate scalar type hints from PHPDoc annotations
Installs: 72
Dependents: 0
Suggesters: 0
Security: 0
Stars: 230
Watchers: 12
Forks: 17
Open Issues: 0
Type:project
Requires
- php: >=7.0.0
- ext-tokenizer: *
- phpdocumentor/reflection: ^2.0@dev
- phpdocumentor/reflection-common: ^1.0@dev
- phpdocumentor/reflection-docblock: ^3.0@dev
- sebastian/diff: ^1.3
- symfony/console: ^2.7.0
- symfony/finder: ^2.7.0
This package is auto-updated.
Last update: 2021-01-28 22:40:29 UTC
README
Archived! This repository is now archived. Consider using PHP CS Fixer (and especially the
phpdoc_to_param_type
and phpdoc_to_return_type
rules) or Rector instead.
phpdoc-to-typehint
adds automatically scalar type hints and return types to all functions and methods of a PHP project
using existing PHPDoc annotations.
Warning: this project is an early stage of development. It can damage your code. Be sure to make a backup before running this command and to run your test suite after.
Please report any bug you find using this tool.
Install and usage
- Download the latest PHAR file
- Run
php phpdoc-to-typehint.phar <your-project-directory>
Your project should have scalar type hints and return type declarations.
Before:
<?php /** * @param int|null $a * @param string $b * * @return float */ function bar($a, $b, bool $c, callable $d = null) { return 0.0; }
After:
<?php /** * @param int|null $a * @param string $b * * @return float */ function bar(int $a = null, string $b, bool $c, callable $d = null) : float { return 0.0; }
Features
Supports:
- functions
- methods of classes and traits
- method definitions in interfaces
- PHPDoc inheritance
- PHP 7.1 nullable types (can be disabled with
--no-nullable-types
option)
Credits
Created by Kévin Dunglas. Sponsored by Les-Tilleuls.coop.